public static void Initialize(string file) { config = new Config(file); if (config != null) { LogLevel = (LogType)config.Read("Log.Level", 0x7, true); LogDirectory = config.Read("Log.Directory", "Logs/ProxyServer"); LogConsoleFile = config.Read("Log.Console.File", ""); LogPacketFile = config.Read("Log.Packet.File", ""); FileWriter fl = null; if (LogConsoleFile != "") { if (!Directory.Exists(LogDirectory)) Directory.CreateDirectory(LogDirectory); fl = new FileWriter(LogDirectory, LogConsoleFile); } Log.Initialize(LogLevel, fl); if (LogPacketFile != "") PacketLog.Initialize(LogDirectory, LogPacketFile); } ReadConfig(); }
public static void Initialize(LogType logLevel, FileWriter fileLogger = null) { Log.logLevel = logLevel; var logThread = new Thread(() => { while (true) { var log = logQueue.Take(); if (log != null) { var msg = log.Item2; if (fileLogger != null) Task.Run(async () => await fileLogger.Write(msg)); Console.ForegroundColor = log.Item1; Console.WriteLine(msg); } } }); logThread.IsBackground = true; logThread.Start(); }