public void LogToFile(FFLogLevel nLogLevel, string data) { if (m_nLogLevel < (int)nLogLevel) { return; } ConsoleColor color = ConsoleColor.Gray; string logdata = ""; switch (nLogLevel) { case FFLogLevel.DEBUG: { logdata = string.Format("[{0:MM-dd HH:mm:ss}] DEBUG {1}", System.DateTime.Now, data); } break; case FFLogLevel.TRACE: { logdata = string.Format("[{0:MM-dd HH:mm:ss}] TRACE {1}", System.DateTime.Now, data); } break; case FFLogLevel.INFO: { color = ConsoleColor.Green; logdata = string.Format("[{0:MM-dd HH:mm:ss}] INFO {1}", System.DateTime.Now, data); } break; case FFLogLevel.WARNING: { color = ConsoleColor.Yellow; logdata = string.Format("[{0:MM-dd HH:mm:ss}] WARNING {1}", System.DateTime.Now, data); } break; case FFLogLevel.ERROR: { color = ConsoleColor.Red; logdata = string.Format("[{0:MM-dd HH:mm:ss}] ERROR {1}", System.DateTime.Now, data); } break; default: logdata = string.Format("[{0:MM-dd HH:mm:ss}] ERROR {1}", System.DateTime.Now, data); break; } m_taskQueue.Post(() => { m_sw.WriteLine(logdata); m_sw.Flush(); Console.ForegroundColor = color; Console.WriteLine(logdata); }); }
public void LogToFile(FFLogLevel nLogLevel, string data) { try { string fileName = string.Format("./log/{0:yyyy-MM-dd}.txt", System.DateTime.Now); if (m_fs == null || fileName != m_strCurFileName) { if (!System.IO.Directory.Exists("./log")) { System.IO.Directory.CreateDirectory("./log"); } m_strCurFileName = fileName; if (m_fs != null) { m_fs.Close(); } if (m_sw != null) { m_sw.Close(); } m_fs = new FileStream(m_strCurFileName, FileMode.Append); m_sw = new StreamWriter(m_fs); } if (m_nLogLevel < (int)nLogLevel) { return; } ConsoleColor color = colorDefault; string logdata = ""; switch (nLogLevel) { case FFLogLevel.DEBUG: { logdata = string.Format("[{0:yyyy-MM-dd HH:mm:ss}] DEBUG {1}", System.DateTime.Now, data); } break; case FFLogLevel.TRACE: { logdata = string.Format("[{0:yyyy-MM-dd HH:mm:ss}] TRACE {1}", System.DateTime.Now, data); } break; case FFLogLevel.INFO: { color = ConsoleColor.Green; logdata = string.Format("[{0:yyyy-MM-dd HH:mm:ss}] INFO {1}", System.DateTime.Now, data); } break; case FFLogLevel.WARNING: { color = ConsoleColor.Yellow; logdata = string.Format("[{0:yyyy-MM-dd HH:mm:ss}] WARN {1}", System.DateTime.Now, data); } break; case FFLogLevel.ERROR: { color = ConsoleColor.Red; logdata = string.Format("[{0:yyyy-MM-dd HH:mm:ss}] ERROR {1}", System.DateTime.Now, data); } break; default: logdata = string.Format("[{0:yyyy-MM-dd HH:mm:ss}] ERROR {1}", System.DateTime.Now, data); break; } m_taskQueue.Post(() => { m_sw.WriteLine(logdata); m_sw.Flush(); Console.ForegroundColor = color; Console.WriteLine(logdata); if (color != colorDefault) { Console.ForegroundColor = colorDefault; } }); } catch (System.Exception ex) { Console.WriteLine("Log.LogToFile Exception:" + ex.Message); } }