2012-02-21 202 views
0

我有一個WP4應用程序在log4net中有兩個log4net appender,第一次打印到文件,第二次打印到控制檯。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無法登錄到所需的位置,則會嘗試在其中留下一條錯誤消息。 Visual Studio的漁獲

輸出窗口調試時跟蹤消息...

可能重複:Log4net won't log to console (WinForms app)

+0

這是一個重複。寫入控制檯不會在WPF中創建控制檯。 – kenny 2012-02-21 14:47:47

+0

不,我沒有看到控制檯打開。此外,當我創建新的ConsoleApplication並使用相同的app.config時,它工作正常。另外,肯尼 - 你能詳細說明它爲什麼不能在WPF中工作嗎? – user829174 2012-02-21 15:40:53

+0

查看其他帖子,瞭解更多有關在wpf應用程序中顯示控制檯的信息 – Schwarzie2478 2012-02-21 16:20:57

0

你打一次電話XmlConfigurator.Configure()

1

如果你想看到在Visual Studio中的輸出窗口中的消息,你應該改用以下:

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

這是否會顯示log4NET的錯誤?我不這麼認爲。這會將日誌消息發送到跟蹤,但不會捕獲發送到跟蹤的事件。 – Schwarzie2478 2012-02-21 15:45:27

+0

如果將debug設置爲true,這將只顯示內部log4net消息。 '' – 2012-02-21 17:45:33

+1

@ Schwarzie2478無論如何,我不確定他是否要求「顯示log4NET的錯誤」。我想他想讓log4net輸出轉到輸出窗口。 – 2012-02-22 13:57:25