2017-03-18 173 views
0

我關注了網絡上的YouTube視頻和文章,並實現了這一點。但它從不寫入我的日誌文件。嘗試圍繞許多論壇的所有建議沒有用。 不知道我出錯的地方。我有這個內部類庫。Log4net沒有寫入文件

app.config文件:

<?xml version="1.0" encoding="utf-8"?>   
<configuration> 
<configSections> 

<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net"/> 
</configSections> 
<log4net><appender name="myLogAppender" type="log4net.Appender.RollingFileAppender" > 


<file value="D:\\Log4NetLog.txt" /><layout type="log4net.Layout.PatternLayout"> 


<conversionPattern value="%date %level - %message%n" /></layout></appender> 

<logger name="myLog"><level value="ALL"></level><appender-ref ="myLogAppender" /> 

</logger></log4net></configuration> 

並在Assembly.info.cs:

[assembly: log4net.Config.XmlConfigurator(ConfigFile = "app.config", Watch = true)] 

和在類文件中:

ILog mylog = LogManager.GetLogger("myLog"); 

串XX =「tokensalt 「; mylog.Info(xx);

+0

使用log4net.Config.XmlConfigurator.Configure(ConfigurationManager.GetSection( 「log4net的」)作爲的XmlElement)審判;在ILOG之前的類文件中。但沒有工作 – user1964776

+0

所有日誌記錄屬性,如IsDebugEnabled == false – user1964776

回答

0

如果你的配置是在你的app.config,你並不需要指定的配置文件:

[assembly: log4net.Config.XmlConfigurator()] 

而且手錶是不是非常有用的,當你改變app.config文件。無論如何,應用程序將重新啓動並且文件將被重新加載。

如果這不起作用,我猜測您登錄的網絡用戶無法訪問您登錄的路徑。

->>> <file value="D:\\Log4NetLog.txt" 

請確保您選擇有權訪問的路徑。

0

使用文件appender而不是滾動appender,滾動appender是爲了備份的目的,例如,如果你的文件超過10MB,那麼它會寫入你的滾動appender,你可以決定有多少個10mb的文件從log4net的網站:

RollingFileAppender進行可以滾動登錄根據大小或日期,或二者 取決於RollingStyle屬性的設置文件。當設置爲 大小時,日誌文件將在其大小超過 MaximumFileSize時滾動。設置爲Date時,日誌文件將在DatePattern屬性中指定的日期邊界越過 時被滾動。當 設置爲Composite時,一旦在DatePattern屬性中指定的日期邊界 被越過,但在日期 邊界內,則該文件將在其大小超過 MaximumFileSize時滾動。設置爲一旦配置了 appender時,日誌文件將被滾動。這實際上意味着日誌文件可以在程序執行期間滾動一次,即 。

這裏是一個工作的web.config的例子,應該爲你工作:

<?xml version="1.0" encoding="utf-8" ?> 
<configuration> 
    <configSections> 
     <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/> 
    </configSections> 
    <log4net> 
<appender name="FileAppender" type="log4net.appender.FileAppender"> 
      <file value="C:\MyLogs\MyLogFile.txt"/> 
      <appendToFile value="true"/> 
      <lockingModel type="log4net.Appender.FileAppender+MinimalLock"/> 
      <layout type="log4net.Layout.PatternLayout"> 
       <conversionPattern value="%date{ABSOLUTE} [%logger] %level - %message%newline%exception"/> 
      </layout> 
     </appender> 
<root> 
     <level value="DEBUG"></level> 
     <appender-ref ref="FileAppender"></appender-ref> 
    </root> 
</log4net>