【问题标题】:Log4net creating custom levelsLog4net 创建自定义级别
【发布时间】:2018-10-09 21:32:02
【问题描述】:

我知道它可以使用 log4net 的内置级别 INFO、WARN、ERROR 和 FATAL 消息

是否可以创建新的?

【问题讨论】:

    标签: logging log4net


    【解决方案1】:

    这可以通过如下所述的扩展方法来完成: http://rageshkrishna.com/2011/01/21/AddingCustomLogLevelsToLog4net.aspx

    添加一些扩展方法使开始使用变得非常简单 新的日志级别:

    public static class SecurityExtensions
    {
       static readonly log4net.Core.Level authLevel = new log4net.Core.Level(50000, "Auth");
    
       public static void Auth(this ILog log, string message)
       {
          log.Logger.Log(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType,
              authLevel, message, null);
       }
    
       public static void AuthFormat(this ILog log, string message, params object[] args)
       {
          string formattedMessage = string.Format(message, args);
          log.Logger.Log(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType,
              authLevel, formattedMessage, null);
       }
    
    }
    

    就是这样——现在我可以开始使用我的新“Auth”日志记录级别了 像这样的任何 ILog 实例:

    SecurityLogger.AuthFormat("User logged in with id {0} from IP address {1}", id, Request.UserHostAddress);
    

    【讨论】:

    • 感谢您成为这个问题的唯一答案,而不仅仅是一个链接。
    • 对于那些想知道级别的人,这里是 log4net 2.07 中级别的解释列表:关闭 int.MaxValue,Log4Net_Debug 120000,紧急 120000,致命 110000,警报 100000,严重 90000,严重 80000,错误 70000,警告 60000、通知 50000、信息 40000、调试 30000、精细 30000、跟踪 20000、精细 20000、详细 10000、精细 10000
    【解决方案2】:

    现在已经有好几年了,但this 线程讨论了你想要做什么。

    【讨论】:

    • 链接失效但在the internet archive上可用
    • 几年后……两个链接都失效了。是的链接腐烂!
    【解决方案3】:

    我正在使用它来实现详细和/或跟踪级别:

    Log4net, how to log a verbose message?

    【讨论】:

      【解决方案4】:

      我的立场是正确的。在 log4j 中也是可能的——我从来没有做过:

      https://logging.apache.org/log4j/1.2/faq.html#custom-level

      除非我看到威廉的回复并再次检查,否则我不会知道。

      【讨论】:

        猜你喜欢
        • 2019-10-09
        • 2010-10-06
        • 2012-09-11
        • 1970-01-01
        • 1970-01-01
        • 2015-07-05
        • 1970-01-01
        • 1970-01-01
        • 2011-07-25
        相关资源
        最近更新 更多