简体   繁体   English

如何从Custom appender(Log4net)获取Layout属性?

[英]How to get Layout property from Custom appender(Log4net)?

I have implemented a CustomAppender using Log4net .How can I access Layout property from patternLayout in the Appender. 我已经使用Log4net实现了一个CustomAppender。如何从Appender中的patternLayout访问Layout属性。

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

config file: 配置文件:

<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>

To get Layout information, just use the Layout property of the base AppenderSkeleton class. 要获取布局信息,只需使用基本AppenderSkeleton类的Layout属性。 To get the message already rendered in this layout, use the method RenderLoggingEvent from this same base class: 要获取已在此布局中呈现的消息,请使用此相同基类中的RenderLoggingEvent方法:

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM