From 599ee096a038df6ccbce79a28d13f92e16d7aefd Mon Sep 17 00:00:00 2001 From: Meik Date: Tue, 10 Mar 2026 10:05:22 +0100 Subject: [PATCH] fix: use direct file logging in diagnostics --- LiamWorkflowDiagnostics/MainWindow.xaml.cs | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/LiamWorkflowDiagnostics/MainWindow.xaml.cs b/LiamWorkflowDiagnostics/MainWindow.xaml.cs index 88cf123..00c2896 100644 --- a/LiamWorkflowDiagnostics/MainWindow.xaml.cs +++ b/LiamWorkflowDiagnostics/MainWindow.xaml.cs @@ -34,7 +34,8 @@ namespace LiamWorkflowDiagnostics private readonly ObservableCollection _logEntries = new ObservableCollection(); private ProviderTestSession _session; private bool _isInitializingUi; - private dynamic _diagnosticsLogger; + private readonly object _diagnosticsLogSync = new object(); + private string _diagnosticsLogPath; private readonly string _settingsPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "LiamWorkflowDiagnostics.settings.json"); public MainWindow() @@ -66,10 +67,10 @@ namespace LiamWorkflowDiagnostics var baseDir = AppDomain.CurrentDomain.BaseDirectory; var logDirectory = Path.Combine(baseDir, "logs"); Directory.CreateDirectory(logDirectory); - var logPath = Path.Combine(logDirectory, "LiamWorkflowDiagnostics.log"); - _diagnosticsLogger = cLogManagerFile.CreateInstance(logPath); + _diagnosticsLogPath = Path.Combine(logDirectory, "LiamWorkflowDiagnostics.log"); + cLogManagerFile.CreateInstance(_diagnosticsLogPath); cLogManager.Instance.Level = LogLevels.Debug; - AppendLog($"Logdatei: {logPath} (Level: Debug)"); + AppendLog($"Logdatei: {_diagnosticsLogPath} (Level: Debug)"); } catch (Exception ex) { @@ -139,8 +140,14 @@ namespace LiamWorkflowDiagnostics try { - if (_diagnosticsLogger != null) - _diagnosticsLogger.LogEntry(level, message); + if (!string.IsNullOrWhiteSpace(_diagnosticsLogPath)) + { + var fileLine = $"{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff} [{level}] {message}{Environment.NewLine}"; + lock (_diagnosticsLogSync) + { + File.AppendAllText(_diagnosticsLogPath, fileLine, Encoding.UTF8); + } + } } catch { /* ignore */ } }