Ejemplo n.º 1
0
        /// <summary>
        ///
        /// </summary>
        /// <returns></returns>
        public override bool Close()
        {
            bool bRet = true;

            if (m_Logger != null)
            {
                m_Logger.Close();
                m_Logger = null;
            }

            return(bRet);
        }
Ejemplo n.º 2
0
        /// <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);
        }