From b10d06dd4b9687fc3026e16c96a0fd29c3a8e17c Mon Sep 17 00:00:00 2001 From: sin_sin Date: Wed, 7 Jan 2015 15:43:05 +0800 Subject: [PATCH] * Add logging timestamp, ref #113 --- shadowsocks-csharp/Controller/Local.cs | 1 + shadowsocks-csharp/Controller/Logging.cs | 27 ++++++++++++++++++- .../Controller/UpdateChecker.cs | 2 +- 3 files changed, 28 insertions(+), 2 deletions(-) diff --git a/shadowsocks-csharp/Controller/Local.cs b/shadowsocks-csharp/Controller/Local.cs index cd6d2f96..ba507c14 100755 --- a/shadowsocks-csharp/Controller/Local.cs +++ b/shadowsocks-csharp/Controller/Local.cs @@ -61,6 +61,7 @@ namespace Shadowsocks.Controller public void Stop() { _listener.Close(); + // Console.WriteLine("Shadowsocks stopped"); } diff --git a/shadowsocks-csharp/Controller/Logging.cs b/shadowsocks-csharp/Controller/Logging.cs index 22b5b9b1..208051e6 100755 --- a/shadowsocks-csharp/Controller/Logging.cs +++ b/shadowsocks-csharp/Controller/Logging.cs @@ -18,7 +18,7 @@ namespace Shadowsocks.Controller LogFile = Path.Combine(temppath, "shadowsocks.log"); FileStream fs = new FileStream(LogFile, FileMode.Append); TextWriter tmp = Console.Out; - StreamWriter sw = new StreamWriter(fs); + StreamWriterWithTimestamp sw = new StreamWriterWithTimestamp(fs); sw.AutoFlush = true; Console.SetOut(sw); Console.SetError(sw); @@ -61,5 +61,30 @@ namespace Shadowsocks.Controller Console.WriteLine(e); } } + + } + + // Simply extened System.IO.StreamWriter for adding timestamp workaround + public class StreamWriterWithTimestamp : StreamWriter + { + public StreamWriterWithTimestamp(Stream stream) : base(stream) + { + } + + private string GetTimestamp() + { + return "[" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "] "; + } + + public override void WriteLine(string value) + { + base.WriteLine(GetTimestamp() + value); + } + + public override void Write(string value) + { + base.Write(GetTimestamp() + value); + } } + } diff --git a/shadowsocks-csharp/Controller/UpdateChecker.cs b/shadowsocks-csharp/Controller/UpdateChecker.cs index e71d95c9..d6653468 100755 --- a/shadowsocks-csharp/Controller/UpdateChecker.cs +++ b/shadowsocks-csharp/Controller/UpdateChecker.cs @@ -145,7 +145,7 @@ namespace Shadowsocks.Controller } catch (Exception ex) { - Console.Write(ex.ToString()); + Console.WriteLine(ex.ToString()); return; } }