From 5176dc266a98b3bab167c19fadca62a5e56e805a Mon Sep 17 00:00:00 2001 From: Sebastian Date: Sat, 21 May 2022 18:50:46 +0200 Subject: [PATCH] Log --- .../Apps/Templates/StringLogger.cs | 14 +++--- .../Templates/TemplateCommandMiddleware.cs | 43 +++++++++++-------- 2 files changed, 30 insertions(+), 27 deletions(-) diff --git a/backend/src/Squidex.Domain.Apps.Entities/Apps/Templates/StringLogger.cs b/backend/src/Squidex.Domain.Apps.Entities/Apps/Templates/StringLogger.cs index fde9c1f7e..4d40cf239 100644 --- a/backend/src/Squidex.Domain.Apps.Entities/Apps/Templates/StringLogger.cs +++ b/backend/src/Squidex.Domain.Apps.Entities/Apps/Templates/StringLogger.cs @@ -15,21 +15,13 @@ namespace Squidex.Domain.Apps.Entities.Apps.Templates public sealed class StringLogger : ILogger, ILogLine { private const int MaxActionLength = 40; - private readonly ISemanticLog log; - private readonly string template; private readonly List lines = new List(); private readonly List errors = new List(); private string startedLine = string.Empty; public bool CanWriteToSameLine => false; - public StringLogger(string template, ISemanticLog log) - { - this.template = template; - this.log = log; - } - - public void Dispose() + public void Flush(ISemanticLog log, string template) { var mesage = string.Join('\n', lines); @@ -50,6 +42,10 @@ namespace Squidex.Domain.Apps.Entities.Apps.Templates } } + public void Dispose() + { + } + public void StepStart(string message) { if (message.Length > MaxActionLength - 3) diff --git a/backend/src/Squidex.Domain.Apps.Entities/Apps/Templates/TemplateCommandMiddleware.cs b/backend/src/Squidex.Domain.Apps.Entities/Apps/Templates/TemplateCommandMiddleware.cs index 538a17a21..c1cf6bf1a 100644 --- a/backend/src/Squidex.Domain.Apps.Entities/Apps/Templates/TemplateCommandMiddleware.cs +++ b/backend/src/Squidex.Domain.Apps.Entities/Apps/Templates/TemplateCommandMiddleware.cs @@ -71,27 +71,34 @@ namespace Squidex.Domain.Apps.Entities.Apps.Templates return; } - using (var cliLog = new StringLogger(template, log)) + using (var cliLog = new StringLogger()) { - var session = CreateSession(app); - - var syncService = await CreateSyncServiceAsync(repository, session); - var syncOptions = new SyncOptions(); - - var targets = new ISynchronizer[] + try { - new AppSynchronizer(cliLog), - new AssetFoldersSynchronizer(cliLog), - new AssetsSynchronizer(cliLog), - new RulesSynchronizer(cliLog), - new SchemasSynchronizer(cliLog), - new WorkflowsSynchronizer(cliLog), - new ContentsSynchronizer(cliLog) - }; - - foreach (var target in targets) + var session = CreateSession(app); + + var syncService = await CreateSyncServiceAsync(repository, session); + var syncOptions = new SyncOptions(); + + var targets = new ISynchronizer[] + { + new AppSynchronizer(cliLog), + new AssetFoldersSynchronizer(cliLog), + new AssetsSynchronizer(cliLog), + new RulesSynchronizer(cliLog), + new SchemasSynchronizer(cliLog), + new WorkflowsSynchronizer(cliLog), + new ContentsSynchronizer(cliLog) + }; + + foreach (var target in targets) + { + await target.ImportAsync(syncService, syncOptions, session); + } + } + finally { - await target.ImportAsync(syncService, syncOptions, session); + cliLog.Flush(log, template); } } }