public Log(string log_path, string level, string lay_out, int log_appender) { if (null == log_path || string.Empty == log_path) { log_path = DEFAULT_LOG_PATH; } log_path = Path.Combine(Folder.GetCurrentDir(), log_path); if (!Directory.Exists(log_path)) { Directory.CreateDirectory(log_path); } m_Level = ParseLogLevel(level); m_Layout = ParseLogLayout(lay_out); m_LogAppender = log_appender; m_LogPath = Path.Combine(log_path, DEFAULT_LOG_FILE_PREFIX); m_LogThread = new Thread(this.Run); m_LogThread.Name = this.GetType().Name + " work thread"; m_LogBuffer = new LogDBuffer(); m_IsActive = true; m_LogThread.Start(); ThreadManager.Instance.AddThread(m_LogThread); }
private LogManager.LOG_LAYOUT ParseLogLayout(string lay_out) { LogManager.LOG_LAYOUT log_lay = LogManager.LOG_LAYOUT.UTC_TIMESTAMP; switch (lay_out.ToLower()) { case STR_LO_UTC_TIME: log_lay = LogManager.LOG_LAYOUT.UTC_TIMESTAMP; break; case STR_LO_RAW_TIME: log_lay = LogManager.LOG_LAYOUT.RAW_TIMESTAMP; break; case STR_LO_SIMPLE: log_lay = LogManager.LOG_LAYOUT.SIMPLE_FORMAT; break; case STR_LO_XML: log_lay = LogManager.LOG_LAYOUT.XML_FORMAT; break; default: break; } return(log_lay); }