2016-08-09 9 views
1

Log4netを使用してCustomAppenderを実装しました.AppenderのpatternLayoutからLayoutプロパティにアクセスするにはどうすればよいですか?カスタムアペンダー(Log4net)から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> 
+1

[レイアウトプロパティ](https://logging.apache.org/log4net/log4net-1.2.13/:既にこのレイアウトに描画メッセージを取得するために、この同じ基本クラスからメソッドRenderLoggingEventを使用リリース/ sdk/log4net.Appender.AppenderSkeleton.Layout.html)が気になる – stuartd

+0

はい。それは私のために働く。 – Gangz

答えて

0

レイアウト情報を取得するには、単に基本AppenderSkeletonクラスのレイアウトプロパティを使用します。

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