2012-08-07 223 views
0

嗨我在我的Windows應用程序中使用log4net以下是我的app.confige文件的內容。在我的app.confige文件中有兩個標籤,我需要他們兩個在我的應用程序中工作。但問題是,如果我在這種情況下包含兩個標籤,我的日誌不會在application.log文件中創建,而如果我評論運行時和和程序集標籤只有日誌是在application.log文件中創建的,但是當我註釋掉運行時和程序集標記我不能實現應用程序的其他功能。無法寫入日誌文件log4net

請幫我找到解決辦法。

<configSections> 
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net"/> 
    </configSections> 
    <runtime> 
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> 
     <probing privatePath="bin"/> 
    </assemblyBinding> 
    </runtime> 
    <assemblies> 
    <add assembly="ImageGear19.Core"/> 
    </assemblies> 
    <!--The settings below are required for Logging--> 
    <log4net> 
    <appender name="Application" type="log4net.Appender.RollingFileAppender"> 
     <file value="Application.log"/> 
     <appendToFile value="true"/> 
     <maxSizeRollBackups value="10"/> 
     <maximumFileSize value="2 MB"/> 
     <rollingStyle value="Size"/> 
     <staticLogFileName value="true"/> 
     <layout type="log4net.Layout.PatternLayout"> 
     <conversionPattern value="%date[%thread](%-5level): %message%newline"/> 
     </layout> 
    </appender> 
    <logger name="Application"> 
     <level value="All"/> 
     <appender-ref ref="Application"/> 
    </logger> 
    </log4net> 

回答

0

調試log4net的最佳方法是啓用其內部錯誤日誌記錄。這記錄了它所做的一切,並幫助您追溯問題所在。

下面是一個類似thread和說明如何啓用內部記錄在log4net的

添加到您的應用程序設置

<?xml version="1.0" encoding="utf-8" ?> 
<configuration> 
    <appSettings> 
     <add key="log4net.Internal.Debug" value="true"/> 
    </appSettings> 
</configuration> 

,並在你的底部添加此web.config中

<configuration> 
    ... 
    <system.diagnostics> 
     <trace autoflush="true"> 
      <listeners> 
       <add 
        name="textWriterTraceListener" 
        type="System.Diagnostics.TextWriterTraceListener" 
        initializeData="C:\temp\log4net.txt" /> 
      </listeners> 
     </trace> 
    </system.diagnostics> 
    ... 
</configuration> 
1

就個人而言,存在一些與邏輯處理前兩個標記有關的錯誤。鼓勵您在log4net初始化時進行調試。

+0

你能寫更多的細節? – Sonam 2012-08-18 03:16:58