From ddabe0948429dad5d1bbfdd25b38bc47ba3338e1 Mon Sep 17 00:00:00 2001 From: YPermitin Date: Thu, 22 Jul 2021 21:59:25 +0500 Subject: [PATCH] =?UTF-8?q?=D0=A3=D0=BB=D1=83=D1=87=D1=88=D0=B5=D0=BD?= =?UTF-8?q?=D0=B0=20=D0=BE=D0=B1=D1=80=D0=B0=D0=B1=D0=BE=D1=82=D0=BA=D0=B0?= =?UTF-8?q?=20=D0=BE=D1=88=D0=B8=D0=B1=D0=BE=D0=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Дополнена информация об исключении при экспорте / чтении логов - Обновлены используемые библиотеки - Актуализированы примеры приложений --- .../Program.cs | 5 +++-- ...Y.TechJournalExportAssistant.ClickHouse.csproj | 2 +- .../OnErrorExportSharedBufferEventArgs.cs | 6 +++--- .../Exceptions/ExportSharedBufferException.cs | 15 +++++++++++++++ .../SharedBuffer/TechJournalExport.cs | 10 +++++++--- .../YY.TechJournalExportAssistant.Core.csproj | 2 +- .../YY.TechJournalExportAssistant.Tests.csproj | 2 +- 7 files changed, 31 insertions(+), 11 deletions(-) create mode 100644 Libs/YY.TechJournalExportAssistant.Core/SharedBuffer/Exceptions/ExportSharedBufferException.cs diff --git a/Apps/YY.TechJournalExportAssistantWithSharedBufferConsoleApp/Program.cs b/Apps/YY.TechJournalExportAssistantWithSharedBufferConsoleApp/Program.cs index a921aa9..66dd3b1 100644 --- a/Apps/YY.TechJournalExportAssistantWithSharedBufferConsoleApp/Program.cs +++ b/Apps/YY.TechJournalExportAssistantWithSharedBufferConsoleApp/Program.cs @@ -27,9 +27,10 @@ namespace YY.TechJournalExportAssistantWithSharedBufferConsoleApp Console.WriteLine("Good luck & bye!"); } - private static void OnError(OnErrorExportSharedBufferEventArgs args) + private static void OnError(OnErrorExportSharedBufferEventArgs e) { - Console.WriteLine($"Ошибка при экспорте логов: {args.Exception}"); + Console.WriteLine($"Log name: {e?.Exception?.Settings?.Name ?? "Unknown"}\n" + + $"Error info: {e.Exception.ToString()}"); } private static void OnSend(OnSendLogFromSharedBufferEventArgs args) diff --git a/Libs/YY.TechJournalExportAssistant.ClickHouse/YY.TechJournalExportAssistant.ClickHouse.csproj b/Libs/YY.TechJournalExportAssistant.ClickHouse/YY.TechJournalExportAssistant.ClickHouse.csproj index 649415d..5bc67ca 100644 --- a/Libs/YY.TechJournalExportAssistant.ClickHouse/YY.TechJournalExportAssistant.ClickHouse.csproj +++ b/Libs/YY.TechJournalExportAssistant.ClickHouse/YY.TechJournalExportAssistant.ClickHouse.csproj @@ -3,7 +3,7 @@ netstandard2.1 true - 1.0.1.3 + 1.0.1.5 Permitin Yuriy Technological journal's export assistant to ClickHouse Library for exporting 1C:Enterprise 8.x platform's technological journal files to ClickHouse diff --git a/Libs/YY.TechJournalExportAssistant.Core/SharedBuffer/EventArgs/OnErrorExportSharedBufferEventArgs.cs b/Libs/YY.TechJournalExportAssistant.Core/SharedBuffer/EventArgs/OnErrorExportSharedBufferEventArgs.cs index 12fc13a..d08e6a4 100644 --- a/Libs/YY.TechJournalExportAssistant.Core/SharedBuffer/EventArgs/OnErrorExportSharedBufferEventArgs.cs +++ b/Libs/YY.TechJournalExportAssistant.Core/SharedBuffer/EventArgs/OnErrorExportSharedBufferEventArgs.cs @@ -1,14 +1,14 @@ -using System; +using YY.TechJournalExportAssistant.Core.SharedBuffer.Exceptions; namespace YY.TechJournalExportAssistant.Core.SharedBuffer.EventArgs { public sealed class OnErrorExportSharedBufferEventArgs : System.EventArgs { - public OnErrorExportSharedBufferEventArgs(Exception exception) + public OnErrorExportSharedBufferEventArgs(ExportSharedBufferException exception) { Exception = exception; } - public Exception Exception { get; } + public ExportSharedBufferException Exception { get; } } } diff --git a/Libs/YY.TechJournalExportAssistant.Core/SharedBuffer/Exceptions/ExportSharedBufferException.cs b/Libs/YY.TechJournalExportAssistant.Core/SharedBuffer/Exceptions/ExportSharedBufferException.cs new file mode 100644 index 0000000..f77195f --- /dev/null +++ b/Libs/YY.TechJournalExportAssistant.Core/SharedBuffer/Exceptions/ExportSharedBufferException.cs @@ -0,0 +1,15 @@ +using System; + +namespace YY.TechJournalExportAssistant.Core.SharedBuffer.Exceptions +{ + public class ExportSharedBufferException : Exception + { + public TechJournalSettings.LogSourceSettings Settings { get; } + + public ExportSharedBufferException(string message, Exception innerException, TechJournalSettings.LogSourceSettings settings) + : base(message, innerException) + { + Settings = settings; + } + } +} diff --git a/Libs/YY.TechJournalExportAssistant.Core/SharedBuffer/TechJournalExport.cs b/Libs/YY.TechJournalExportAssistant.Core/SharedBuffer/TechJournalExport.cs index 5beaf31..2ae6863 100644 --- a/Libs/YY.TechJournalExportAssistant.Core/SharedBuffer/TechJournalExport.cs +++ b/Libs/YY.TechJournalExportAssistant.Core/SharedBuffer/TechJournalExport.cs @@ -6,6 +6,7 @@ using System.Linq; using System.Threading; using System.Threading.Tasks; using YY.TechJournalExportAssistant.Core.SharedBuffer.EventArgs; +using YY.TechJournalExportAssistant.Core.SharedBuffer.Exceptions; using YY.TechJournalReaderAssistant; namespace YY.TechJournalExportAssistant.Core.SharedBuffer @@ -164,7 +165,8 @@ namespace YY.TechJournalExportAssistant.Core.SharedBuffer } catch (Exception e) { - RaiseOnError(new OnErrorExportSharedBufferEventArgs(e)); + RaiseOnError(new OnErrorExportSharedBufferEventArgs( + new ExportSharedBufferException("Log export job failed.", e, settings))); await Task.Delay(60000, cancellationToken); } } @@ -220,7 +222,8 @@ namespace YY.TechJournalExportAssistant.Core.SharedBuffer } catch (Exception e) { - RaiseOnError(new OnErrorExportSharedBufferEventArgs(e)); + RaiseOnError(new OnErrorExportSharedBufferEventArgs( + new ExportSharedBufferException("Send log from buffer failed.", e, null))); await Task.Delay(60000, cancellationToken); } } @@ -254,7 +257,8 @@ namespace YY.TechJournalExportAssistant.Core.SharedBuffer } private void OnErrorExportDataToBuffer(OnErrorExportDataEventArgs e) { - RaiseOnError(new OnErrorExportSharedBufferEventArgs(e.Exception)); + RaiseOnError(new OnErrorExportSharedBufferEventArgs( + new ExportSharedBufferException("Export data to buffer failed.", e.Exception, null))); } #endregion diff --git a/Libs/YY.TechJournalExportAssistant.Core/YY.TechJournalExportAssistant.Core.csproj b/Libs/YY.TechJournalExportAssistant.Core/YY.TechJournalExportAssistant.Core.csproj index 8ea8b60..b34f3a4 100644 --- a/Libs/YY.TechJournalExportAssistant.Core/YY.TechJournalExportAssistant.Core.csproj +++ b/Libs/YY.TechJournalExportAssistant.Core/YY.TechJournalExportAssistant.Core.csproj @@ -3,7 +3,7 @@ netstandard2.1 true - 1.0.1.3 + 1.0.1.5 Permitin Yuriy Technological journal's export assistant. Core library Core library for exporting 1C:Enterprise 8.x platform's technological journal files to different storage diff --git a/Tests/YY.TechJournalExportAssistant.Tests/YY.TechJournalExportAssistant.Tests.csproj b/Tests/YY.TechJournalExportAssistant.Tests/YY.TechJournalExportAssistant.Tests.csproj index 831f812..69e92b7 100644 --- a/Tests/YY.TechJournalExportAssistant.Tests/YY.TechJournalExportAssistant.Tests.csproj +++ b/Tests/YY.TechJournalExportAssistant.Tests/YY.TechJournalExportAssistant.Tests.csproj @@ -16,7 +16,7 @@ runtime; build; native; contentfiles; analyzers; buildtransitive all - + runtime; build; native; contentfiles; analyzers; buildtransitive all