【问题标题】:How to get Layout property from Custom appender(Log4net)?如何从自定义附加程序(Log4net)获取布局属性?
【发布时间】:2016-08-09 15:32:47
【问题描述】:

我已经使用 Log4net 实现了一个 CustomAppender。如何从 Appender 中的 patternLayout 访问 Layout 属性。

  public class CutomAppender : AppenderSkeleton
{
     protected override void Append(LoggingEvent loggingEvent)
    {
      //My custom code here...........
    }
}

配置文件:

<log4net>
 <appender name="CutomAppender" type="log4netCustomAppender.CutomAppender,log4netCustomAppender">   
  <layout type="log4net.Layout.PatternLayout">
   <conversionPattern value="%date [%thread] %-5level %logger - %message%newline" />
  </layout>
 </appender>
 <root>                                                                               
<level value="ALL" />
<appender-ref ref="CutomAppender" />
 </root>
</log4net>

【问题讨论】:

标签: c# log4net pattern-layout


【解决方案1】:

要获取布局信息,只需使用基础 AppenderSkeleton 类的 Layout 属性。要获取已在此布局中呈现的消息,请使用同一基类中的 RenderLoggingEvent 方法:

public class CutomAppender : AppenderSkeleton
{
    protected override void Append(LoggingEvent loggingEvent)
    {
        string renderedMessage = base.RenderLoggingEvent(loggingEvent);
        ILayout layout = base.Layout;
        // do something here
    }
}

【讨论】:

    猜你喜欢
    • 2015-01-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多