Exemplo n.º 1
0
 /// <summary> Is logging enabled for the supplied level?
 ///
 /// </summary>
 /// <param name="level">  level to test for
 /// </param>
 /// <returns> true   if enabled
 /// </returns>
 public virtual bool IsEnabledFor(Level level)
 {
     if (globalLevel.IsGreaterOrEqual(level))
     {
         return(true);
     }
     lock (appenders.SyncRoot)
     {
         foreach (Appender a in appenders)
         {
             if (a is CustomLogLevelAppender)
             {
                 CustomLogLevelAppender appender = (CustomLogLevelAppender)a;
                 if (appender.CurrentLevel.IsGreaterOrEqual(level))
                 {
                     return(true);
                 }
             }
         }
     }
     return(false);
 }
Exemplo n.º 2
0
        /// <summary>
        /// Log a message to our logging system
        /// </summary>
        /// <param name="level">log level</param>
        /// <param name="message">message to log</param>
        /// <param name="t">throwable object</param>
        private void OurLog(Level level, string message, Exception t)
        {
            ts = DateTime.Now;
            string stamp = ts.ToString(format, CultureInfo.CurrentCulture.DateTimeFormat);

            System.Text.StringBuilder buf = new System.Text.StringBuilder(level.ToString());
            if (showClassNames)
            {
                buf.Append(" [");
                buf.Append(clazz);
                buf.Append("]");
            }
            if (showTimestamp)
            {
                buf.Append(" ");
                buf.Append(stamp);
            }
            buf.Append(" : ");
            buf.Append(GetTag());
            string prefix = buf.ToString();

            if (message != null)
            {
                buf.Append(message);
            }
            if (t != null)
            {
                buf.Append(" : ").Append(t.GetType().FullName).Append(": ").Append(t.Message);
            }
            if (appenders.Count == 0)
            {
                // by default to stdout
                System.Console.Out.WriteLine(buf.ToString());
                if (t != null)
                {
                    if (t.StackTrace != null)
                    {
                        foreach (string line in t.StackTrace.Replace("\r", "").Split('\n'))
                        {
                            OurLog(level, prefix + line, null);
                        }
                    }
                    if (t.InnerException != null)
                    {
                        System.Console.Out.WriteLine(
                            string.Format("{0}CAUSED BY - {1}: {2}",
                                          prefix,
                                          t.InnerException.GetType().FullName,
                                          t.InnerException.Message));
                        if (t.InnerException.StackTrace != null)
                        {
                            foreach (string line in t.InnerException.StackTrace.Replace("\r", "").Split('\n'))
                            {
                                OurLog(level, prefix + line, null);
                            }
                        }
                    }
                }
            }
            else
            {
                bool appendToAll = globalLevel.IsGreaterOrEqual(level);
                lock (appenders.SyncRoot)
                {
                    for (int i = 0; i < appenders.Count; i++)
                    {
                        Appender a = (Appender)appenders[i];
                        bool     appendToCustom = false;
                        if (a is CustomLogLevelAppender)
                        {
                            CustomLogLevelAppender appender = (CustomLogLevelAppender)a;
                            appendToCustom = appender.CurrentLevel.IsGreaterOrEqual(level);
                        }
                        if (appendToAll || appendToCustom)
                        {
                            if (message != null)
                            {
                                a.Log(prefix + message);
                            }
                            if (t != null)
                            {
                                a.Log(prefix + t.GetType().FullName + ": " + t.Message);
                                if (t.StackTrace != null)
                                {
                                    foreach (string line in t.StackTrace.Replace("\r", "").Split('\n'))
                                    {
                                        a.Log(prefix + line);
                                    }
                                }
                                if (t.InnerException != null)
                                {
                                    a.Log(prefix + "CAUSED BY - " + t.InnerException.GetType().FullName + ": " + t.Message);
                                    if (t.InnerException.StackTrace != null)
                                    {
                                        foreach (string line in t.InnerException.StackTrace.Replace("\r", "").Split('\n'))
                                        {
                                            a.Log(prefix + line);
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
Exemplo n.º 3
0
        private void OurLog(Level level, string message, Exception t)
        {
            this.ts = DateTime.Now;
            string        str     = this.ts.ToString(format, CultureInfo.CurrentCulture.DateTimeFormat);
            StringBuilder builder = new StringBuilder(level.ToString());

            if (showClassNames)
            {
                builder.Append(" [");
                builder.Append(this.clazz);
                builder.Append("]");
            }
            if (showTimestamp)
            {
                builder.Append(" ");
                builder.Append(str);
            }
            builder.Append(" : ");
            string str2 = builder.ToString();

            builder.Append(message);
            if (t != null)
            {
                builder.Append(" : ").Append(t.GetType().FullName).Append(": ").Append(t.Message);
            }
            if (appenders.Count == 0)
            {
                Console.Out.WriteLine(builder.ToString());
                if (t != null)
                {
                    if (t.StackTrace != null)
                    {
                        foreach (string str3 in t.StackTrace.Replace("\r", "").Split(new char[] { '\n' }))
                        {
                            this.OurLog(level, str2 + str3, null);
                        }
                    }
                    if (t.InnerException != null)
                    {
                        Console.Out.WriteLine(string.Format("{0}CAUSED BY - {1}: {2}", str2, t.InnerException.GetType().FullName, t.InnerException.Message));
                        if (t.InnerException.StackTrace != null)
                        {
                            foreach (string str4 in t.InnerException.StackTrace.Replace("\r", "").Split(new char[] { '\n' }))
                            {
                                this.OurLog(level, str2 + str4, null);
                            }
                        }
                    }
                }
            }
            else
            {
                bool flag = globalLevel.IsGreaterOrEqual(level);
                lock (appenders.SyncRoot)
                {
                    for (int i = 0; i < appenders.Count; i++)
                    {
                        Appender appender = (Appender)appenders[i];
                        bool     flag2    = false;
                        if (appender is CustomLogLevelAppender)
                        {
                            CustomLogLevelAppender appender2 = (CustomLogLevelAppender)appender;
                            flag2 = appender2.CurrentLevel.IsGreaterOrEqual(level);
                        }
                        if (flag || flag2)
                        {
                            appender.Log(str2 + message);
                            if (t != null)
                            {
                                appender.Log(str2 + t.GetType().FullName + ": " + t.Message);
                                if (t.StackTrace != null)
                                {
                                    foreach (string str5 in t.StackTrace.Replace("\r", "").Split(new char[] { '\n' }))
                                    {
                                        appender.Log(str2 + str5);
                                    }
                                }
                                if (t.InnerException != null)
                                {
                                    appender.Log(str2 + "CAUSED BY - " + t.InnerException.GetType().FullName + ": " + t.Message);
                                    if (t.InnerException.StackTrace != null)
                                    {
                                        foreach (string str6 in t.InnerException.StackTrace.Replace("\r", "").Split(new char[] { '\n' }))
                                        {
                                            appender.Log(str2 + str6);
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }