2016-08-09 3 views
1

Log4net을 사용하여 CustomAppender를 구현했습니다. Appender에서 patternLayout의 Layout 속성에 어떻게 액세스 할 수 있습니까?Custom appender (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를 사용 release/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 
    } 
} 
관련 문제