Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        private string GetLevelName(LogManager.LOG_LEVEL level)
        {
            string str_lv = string.Empty;

            switch (level)
            {
            case LogManager.LOG_LEVEL.DEBUG:
                str_lv = STR_LV_DEBUG;
                break;

            case LogManager.LOG_LEVEL.INFO:
                str_lv = STR_LV_INFO;
                break;

            case LogManager.LOG_LEVEL.WARN:
                str_lv = STR_LV_WARN;
                break;

            case LogManager.LOG_LEVEL.ERROR:
                str_lv = STR_LV_ERROR;
                break;

            case LogManager.LOG_LEVEL.FATAL:
                str_lv = STR_LV_FATAL;
                break;

            default:
                break;
            }

            return(str_lv);
        }
Esempio n. 3
0
        private void SetConsoleFrontColor(LogManager.LOG_LEVEL level)
        {
            int color = -1;

            switch (level)
            {
            case LogManager.LOG_LEVEL.DEBUG:
                color = DEBUG_COLOR;
                break;

            case LogManager.LOG_LEVEL.INFO:
                color = INFO_COLOR;
                break;

            case LogManager.LOG_LEVEL.WARN:
                color = WARN_COLOR;
                break;

            case LogManager.LOG_LEVEL.ERROR:
                color = ERROR_COLOR;
                break;

            case LogManager.LOG_LEVEL.FATAL:
                color = FATAL_COLOR;
                break;

            default:
                break;
            }

            if (-1 != color)
            {
                Console.ForegroundColor = (ConsoleColor)color;
            }
        }
Esempio n. 4
0
        private void WriteConsole(LogManager.LOG_LEVEL level, string log)
        {
            if ((m_LogAppender | (int)LogManager.LOG_APPENDER.COLORED_CONSOLE) > 0)
            {
                SetConsoleFrontColor(level);
            }

            Console.Out.WriteLine(log);
        }
Esempio n. 5
0
        public void Write(LogManager.LOG_LEVEL level, string log, Exception ex = null)
        {
            if (null != ex)
            {
                log = log +
                      "\r\n Error: " + ex.Message +
                      "\r\n InnerException: " + ex.InnerException +
                      "\r\n StackTrace: " + ex.StackTrace;
            }

            string str_now = string.Empty;

            if (LogManager.LOG_LAYOUT.UTC_TIMESTAMP == m_Layout)
            {
                str_now = Time.GetUtcNow().ToString("G");
            }
            else if (LogManager.LOG_LAYOUT.RAW_TIMESTAMP == m_Layout)
            {
                str_now = Time.GetNow().ToString("G");
            }
            else if (LogManager.LOG_LAYOUT.SIMPLE_FORMAT == m_Layout)
            {
            }
            else if (LogManager.LOG_LAYOUT.XML_FORMAT == m_Layout)
            {
            }

            log = str_now + " [" + GetLevelName(level) + "] " + log;

            if ((m_LogAppender | (int)LogManager.LOG_APPENDER.FILE) > 0)
            {
                WriteBuffer(log);
            }

            if ((m_LogAppender | (int)LogManager.LOG_APPENDER.CONSOLE) > 0 ||
                (m_LogAppender | (int)LogManager.LOG_APPENDER.COLORED_CONSOLE) > 0)
            {
                WriteConsole(level, log);
            }

            if ((m_LogAppender | (int)LogManager.LOG_APPENDER.TRACE) > 0)
            {
                WriteTrace(log);
            }
        }
Esempio n. 6
0
        private LogManager.LOG_LEVEL ParseLogLevel(string level)
        {
            LogManager.LOG_LEVEL log_lv = LogManager.LOG_LEVEL.ALL;

            switch (level.ToLower())
            {
            case STR_LV_DEBUG:
                log_lv = LogManager.LOG_LEVEL.DEBUG;
                break;

            case STR_LV_INFO:
                log_lv = LogManager.LOG_LEVEL.INFO;
                break;

            case STR_LV_WARN:
                log_lv = LogManager.LOG_LEVEL.WARN;
                break;

            case STR_LV_ERROR:
                log_lv = LogManager.LOG_LEVEL.ERROR;
                break;

            case STR_LV_FATAL:
                log_lv = LogManager.LOG_LEVEL.FATAL;
                break;

            case STR_LV_OFF:
                log_lv = LogManager.LOG_LEVEL.OFF;
                break;

            default:
                break;
            }

            return(log_lv);
        }