Esempio n. 1
0
        /// <summary>
        /// 写入日志
        /// </summary>
        /// <param name="state">日志类型</param>
        /// <param name="msg">日志描述</param>
        public void Write(LOGGER_TYPE state, string msg)
        {
            //检查日志级别,这里只写入指定级别以下的日志
            if (state > m_Level)
            {
                return;
            }

            StreamWriter sw = null;

            //多线程同步等待
            Wait();
            try
            {
                //打开日志文件
                sw = GetLoggerStream();
                if (sw == null)
                {
                    return;
                }

                string[] STATE_CAPTION = new string[] { "SYS", "ERR", "WRN", "INF", "DBG" };

                //写入
                string logger = string.Format("[{0}] {1:yyyy-MM-dd HH:mm:ss} === {2}", STATE_CAPTION[(int)state], DateTime.Now, msg);
                sw.WriteLine(logger);
            }
            finally
            {
                if (sw != null)
                {
                    sw.Close();
                }
                Free();
            }
        }
 public MonitoringLogger(LOGGER_TYPE eType)
 {
     m_eType = eType;
 }