From a35e101f23fe8e84eedf5bd11c6fba5e0b1c5e21 Mon Sep 17 00:00:00 2001 From: "Namhyeon, Go" Date: Sun, 28 Sep 2025 20:14:00 +0900 Subject: [PATCH] Refactor log file naming and improve Format method Changed log file naming to use ...log instead of including 'pid' in the filename. Moved file stream creation inside the Trace listener check. Reformatted and clarified the Format method for better readability and error handling. --- .../WelsonJS.Launcher/TraceLogger.cs | 25 ++++++++++++------- 1 file changed, 16 insertions(+), 9 deletions(-) diff --git a/WelsonJS.Toolkit/WelsonJS.Launcher/TraceLogger.cs b/WelsonJS.Toolkit/WelsonJS.Launcher/TraceLogger.cs index bf94f28..a74f168 100644 --- a/WelsonJS.Toolkit/WelsonJS.Launcher/TraceLogger.cs +++ b/WelsonJS.Toolkit/WelsonJS.Launcher/TraceLogger.cs @@ -13,7 +13,7 @@ namespace WelsonJS.Launcher { /// /// File-based trace logger. - /// Writes to %APPDATA%\WelsonJS\Logs\..pid<####>.log + /// Writes to %APPDATA%\WelsonJS\Logs\...log /// Falls back to current directory if %APPDATA%\WelsonJS\Logs cannot be created. /// public class TraceLogger : ICompatibleLogger @@ -42,13 +42,13 @@ namespace WelsonJS.Launcher baseDir = AppDomain.CurrentDomain.BaseDirectory; } - _logFilePath = Path.Combine(baseDir, $"{ns}.{suffix}.pid{pid}.log"); - - var fs = new FileStream(_logFilePath, FileMode.Append, FileAccess.Write, FileShare.Read); - var writer = new StreamWriter(fs) { AutoFlush = true }; + _logFilePath = Path.Combine(baseDir, $"{ns}.{suffix}.{pid}.log"); if (!Trace.Listeners.OfType().Any()) { + var fs = new FileStream(_logFilePath, FileMode.Append, FileAccess.Write, FileShare.Read); + var writer = new StreamWriter(fs) { AutoFlush = true }; + Trace.Listeners.Add(new TextWriterTraceListener(writer) { Name = "FileTraceListener", @@ -71,12 +71,19 @@ namespace WelsonJS.Launcher private static string Format(object[] args) { - if (args == null || args.Length == 0) return string.Empty; - if (args.Length == 1) return args[0]?.ToString() ?? string.Empty; + if (args == null || args.Length == 0) + return string.Empty; + + if (args.Length == 1) + return args[0]?.ToString() ?? string.Empty; string fmt = args[0]?.ToString() ?? string.Empty; - try { return string.Format(fmt, args.Skip(1).ToArray()); } - catch { return string.Join(" ", args.Select(a => a?.ToString() ?? "")); } + try { + return string.Format(fmt, args.Skip(1).ToArray()); + } + catch { + return string.Join(" ", args.Select(a => a?.ToString() ?? "")); + } } private static string GenerateRandomSuffix(int length)