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)