/// <summary> /// /// </summary> /// <returns></returns> public override bool Close() { bool bRet = true; if (m_Logger != null) { m_Logger.Close(); m_Logger = null; } return(bRet); }
/// <summary> /// /// </summary> /// <returns></returns> public override bool Open() { bool bRet = true; try { string sComponentName = ""; LoggerThreadInfo oInfo = null; ThreadInfoDictSingleton oDict = ThreadInfoDictSingleton.GetInstance(); bool bRes = oDict.TryGetValue(Thread.CurrentThread.Name, out oInfo); if (bRes) { sComponentName = oInfo.m_sComponentName; } if (sComponentName == "") { StackTrace oST = new StackTrace(); sComponentName = oST.GetFrame(2).GetMethod().Module.Name; } sComponentName = StripExtension(sComponentName); string sLogFileTemplate = ConfigurationManager.AppSettings["LogFileTemplate"]; if (String.IsNullOrEmpty(sLogFileTemplate)) { sLogFileTemplate = "{yyyy}{mm}{dd}"; } string sFullyQualifiedLogFileName = Path.Combine(m_sPath, String.Format("{0}_{1}.log.txt", sComponentName, sLogFileTemplate)); m_LogConsole = NSpring.Logging.Logger.CreateConsoleLogger("{timeStamp} {msg}"); m_LogFile = NSpring.Logging.Logger.CreateFileLogger(sFullyQualifiedLogFileName, "{timeStamp}\t{msg}"); m_LogFile.Encoding = new UTF8Encoding(false); // Don't emit UTF-8 BOM to log file. m_Logger = NSpring.Logging.Logger.CreateCompositeLogger(m_LogConsole, m_LogFile); m_Logger.IsBufferingEnabled = true; m_Logger.BufferSize = 10000; // How much to buffer up before writing out m_Logger.AutoFlushInterval = 2000; // FIX - read from a config file. m_Logger.Open(); } catch (Exception exc) { bRet = false; SetLastError(-1, "Caught exception in TsvAndStdoutLogger.Open: " + exc.ToString()); } return(bRet); }