/* * Created by vincent.tollu@gmail.com * IDE: SharpDevelop * Distributed under the GPL */ using System; using System.Collections.Generic; using System.Text; using System.IO; static class Logger { private static TextWriter _sWriter; private static string _FileName = @""; public static string FileName { get { return _FileName; } set { _FileName = value; if (_sWriter != null) _sWriter.Close(); _sWriter = new StreamWriter(_FileName, false); _sWriter.WriteLine(DateTime.Now + " - Logger Launched"); } } static Logger() { System.Reflection.Assembly currentAssembly = System.Reflection.Assembly.GetExecutingAssembly(); _FileName = Path.GetDirectoryName(currentAssembly.Location) + @".\Logger.log"; _sWriter = new StreamWriter(_FileName, false); _sWriter.WriteLine(DateTime.Now + " - Logger Launched"); } public static void Write(string st) { _sWriter.Write(st); Console.Write(st); _sWriter.Flush(); } public static void WriteLine(string st) { _sWriter.WriteLine(DateTime.Now.ToString("HH:mm:ss") + " - " + st); Console.WriteLine(DateTime.Now.ToString("HH:mm:ss") + " - " + st); _sWriter.Flush(); } internal static void Exception(Exception e) { _sWriter.WriteLine(">>>>>>>> " + DateTime.Now + " - Error caught!"); _sWriter.WriteLine(e.Message); _sWriter.WriteLine(e.StackTrace); _sWriter.Close(); } public static void Close() { _sWriter.Close(); } }