Beispiel #1
0
        public void WriteToLogLevel(string message, LogLevelEnum level)
        {
            int        depth      = 1;
            StackFrame stackframe = new StackFrame(depth);

            //24Nov2015 While working with SQL found that stackframe is null. Reason unknown. But this caused app crash
            //so here is some code that may stop that crash even if the stackframe is null
            string classname  = " -CLASS :Unknonwn-Class";
            string methodname = " -METHOD : Unknown-Method";

            if (stackframe.GetMethod() != null)
            {
                classname  = " -CLASS :" + stackframe.GetMethod().DeclaringType.FullName;
                methodname = " -METHOD :" + stackframe.GetMethod().Name + "()";
            }



            //StackTrace stacktrace = new StackTrace(depth);
            //string _line=string.Empty;
            //string _te = stacktrace.ToString();
            //int _lis = _te.IndexOf("line");
            //if(_lis>0)
            //_line = _te.Substring(_lis, 7);//stackframe.GetFileLineNumber()

            string msgcname = message + classname + methodname;

            // +
            //" -LINE :" + _line;
            if (loglevel.ToString() == (level.ToString()) || loglevel.ToString().Equals("All"))
            {
                switch (level) // writes 'level' category of log
                {
                case LogLevelEnum.Debug:
                    Debug(msgcname); break;

                case LogLevelEnum.Info:
                    Info(msgcname); break;

                case LogLevelEnum.Warn:
                    Warn(msgcname); break;

                case LogLevelEnum.Error:
                    Error(msgcname); break;

                case LogLevelEnum.Fatal:
                    Fatal(msgcname); break;

                default:
                    Error(msgcname); break;
                }
            }
            //else //if invalid log level in config, still Error level logging will be done
            //    Error("Invalid Log level set in Config file. Valid options(case sensitive) are Debug, Info, Warn, Error, Fatal, All\n"+msgcname);
        }
        public void WriteToLogLevel(string message, LogLevelEnum level)
        {
            int        depth      = 1;
            StackFrame stackframe = new StackFrame(depth);

            //StackTrace stacktrace = new StackTrace(depth);
            //string _line=string.Empty;
            //string _te = stacktrace.ToString();
            //int _lis = _te.IndexOf("line");
            //if(_lis>0)
            //_line = _te.Substring(_lis, 7);//stackframe.GetFileLineNumber()

            string msgcname = message +
                              " -CLASS :" + stackframe.GetMethod().DeclaringType.FullName +
                              " -METHOD :" + stackframe.GetMethod().Name + "()";// +

            //" -LINE :" + _line;
            if (loglevel.ToString() == (level.ToString()) || loglevel.ToString().Equals("All"))
            {
                switch (level) // writes 'level' category of log
                {
                case LogLevelEnum.Debug:
                    Debug(msgcname); break;

                case LogLevelEnum.Info:
                    Info(msgcname); break;

                case LogLevelEnum.Warn:
                    Warn(msgcname); break;

                case LogLevelEnum.Error:
                    Error(msgcname); break;

                case LogLevelEnum.Fatal:
                    Fatal(msgcname); break;

                default:
                    Error(msgcname); break;
                }
            }
            //else //if invalid log level in config, still Error level logging will be done
            //    Error("Invalid Log level set in Config file. Valid options(case sensitive) are Debug, Info, Warn, Error, Fatal, All\n"+msgcname);
        }