【问题标题】:Add log4net appender programmatically, but layout does not work以编程方式添加 log4net appender,但布局不起作用
【发布时间】:2016-07-12 19:50:04
【问题描述】:

我有以下代码将滚动文件附加程序添加到 log4net。

        ILog myLogger = LogManager.GetLogger("Audit");

        var auditAppender = new RollingFileAppender()
        {
            Name = "AuditAppender",
            File = this.fullyQualifiedFileName,
            DatePattern = "yyyyMMdd",
            RollingStyle = RollingFileAppender.RollingMode.Date,
            AppendToFile = true,
            Layout = new PatternLayout()
            {
                ConversionPattern = "%newline %date %-5level %newline%message%newline",
            },
        };

        auditAppender.ActivateOptions();

        log4net.Repository.Hierarchy.Logger l = (log4net.Repository.Hierarchy.Logger)myLogger.Logger;
        l.AddAppender(auditAppender);
        l.Repository.Configured = true;

        myLogger.Info(message);

但结果似乎根本不符合我的ConversionPattern。有什么线索吗?

【问题讨论】:

    标签: c# log4net log4net-configuration log4net-appender


    【解决方案1】:

    你非常非常接近;-)

    您唯一错过的是您还需要致电PatternLayout.ActivateOptions

    var auditAppender = new RollingFileAppender()
    {
        // snip
    }
    
    ((PatternLayout)auditAppender.Layout).ActivateOptions();
    auditAppender.ActivateOptions();
    

    【讨论】:

      猜你喜欢
      • 2014-02-07
      • 1970-01-01
      • 1970-01-01
      • 2019-09-04
      • 2010-11-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多