2012-02-21 5 views
0

log4net에 2 개의 log4net appender가있는 WPF 응용 프로그램이 있습니다. 첫 번째 파일로 인쇄하고 두 번째 파일은 콘솔로 인쇄해야합니다.Log4net wpf 콘솔에 인쇄하지 않습니다.

log4net에 결과를 표시 할 수없는 이유가 있지만 파일에 표시됩니다. 뭐가 잘못 되었 니?

<?xml version="1.0"?> 
<configuration> 
    <configSections> 
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" /> 
    </configSections> 
    <log4net debug="true"> 
    <appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender"> 
     <file value="C:\\Temp\\1.txt" /> 
     <appendToFile value="true" /> 
     <rollingStyle value="Size" /> 
     <maxSizeRollBackups value="10" /> 
     <maximumFileSize value="10MB" /> 
     <staticLogFileName value="true" /> 
     <layout type="log4net.Layout.PatternLayout"> 
     <conversionPattern value="%-5p %d %5rms %-22.22c{1} %-18.18M - %m%n" /> 
     </layout> 
    </appender> 
    <appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender" > 
     <layout type="log4net.Layout.PatternLayout"> 
     <param name="Header" value="[Header]\r\n" /> 
     <param name="Footer" value="[Footer]\r\n" /> 
     <param name="ConversionPattern" value="%-5p %d %5rms %-22.22c{1} %-18.18M - %m%n" /> 
     </layout> 
    </appender> 
    <root> 
     <level value="DEBUG" /> 
     <appender-ref ref="RollingLogFileAppender" /> 
     <appender-ref ref="ConsoleAppender" /> 
    </root> 
    </log4net> 
    <startup> 
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/> 
    </startup> 
</configuration> 

답변

2

응용 프로그램을 시작할 때 콘솔 팝업이 표시됩니까?

그렇지 않으면 당신이 정보를 추적 확인하실 수 있습니다 ... 당신이 콘솔 창을 가지고 콘솔 프로젝트로 응용 프로그램을 구성 할 수 있습니다. 일반적으로 appender는 원하는 위치에 로그 할 수없는 경우 하나의 오류 메시지를 남겨 둡니다. 디버깅 할 때 비주얼 스튜디오 어획량의

출력 창 ... 메시지를 추적

가능한 중복 : Log4net won't log to console (WinForms app)

+0

이것은 하나의 dup입니다. 콘솔에 쓰기는 WPF에서 콘솔을 만들지 않습니다. – kenny

+0

아니요, 열려있는 콘솔이 보이지 않습니다. 또한, 새로운 ConsoleApplication을 만들고 동일한 app.config를 사용할 때 제대로 작동합니다. 또한, kenny - WPf에서 작동하지 않는 이유를 정교하게 설명 할 수 있습니까? – user829174

+0

wpf 응용 프로그램 내에서도 콘솔을 표시하는 방법에 대한 자세한 정보는 다른 게시물을 참조하십시오 – Schwarzie2478

0

XmlConfigurator.Configure() 번으로 전화 하시겠습니까?

1

당신이 대신 다음을 사용한다 Visual Studio에서 출력 창에 메시지를보고 싶어하는 경우 :

<appender name="TraceAppender" type="log4net.Appender.TraceAppender" > 
+0

log4NET의 오류를 표시합니까? 나는 그렇게 생각하지 않을 것이다. 이렇게하면 로깅 메시지가 추적으로 보내지지만 추적으로 전송 된 메시지는 캡처되지 않습니다. – Schwarzie2478

+0

디버그를 true로 설정하면 내부 log4net 메시지 만 표시됩니다. '' –

+1

@ Schwarzie2478 어쨌든 "log4NET의 오류를 보여달라고"하고 싶지는 않습니다. Log4net 출력을 출력 창으로 보내고 싶습니다. –

관련 문제