2017-02-28 117 views
0

這是我第一次嘗試伐木,我也研究過類似的問題,但似乎無法弄清我的情況,可能是因爲我沒有得到任何錯誤消失。Log4Net沒有創建.txt文件?

我正在嘗試使用Log4Net來簡單地創建一個.txt文件。我沒有web.config或app.config,所以我創建了自己的配置文件來設置Log4Net(通過研究,我發現我應該可以做到這一點)。配置文件是如下:

Log4Net.config

<?xml version="1.0" encoding="utf-8" ?> 
<configuration> 
<configSections> 
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/> 
</configSections> 
<log4net debug="true"> 
<appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender"> 
    <file value="C:\myFolder\TestLog.txt" />//******Nothing Is Being Created Here**** 
    <appendToFile value="true" /> 
    <rollingStyle value="Size" /> 
    <maxSizeRollBackups value="10" /> 
    <maximumFileSize value="10MB" /> 
    <staticLogFileName value="true" /> 
    <layout type="log4net.Layout.PatternLayout"> 
    <conversionPattern value="%date [%thread] %level %logger - %message%newline" /> 
    </layout> 
</appender> 

<root> 
    <level value="DEBUG" /> 
    <appender-ref ref="RollingLogFileAppender" /> 
</root> 
</log4net> 
</configuration> 

在我的AssemblyInfo.cs

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

而且調用記錄

.... 
private static readonly ILog logger = LogManager.GetLogger("ExportLogger"); 
.... 
log4net.Config.XmlConfigurator.Configure();//I know this shouldnt be done here, just testing 
logger.Debug("Successfully logged something"); 

上面的代碼運行的所有沒有錯誤,所以我不知道我的錯誤在哪裏。我懷疑我的配置設置不正確。任何人都可以看到我做錯了什麼,爲什麼沒有創建.txt文件?

+0

檢查寫入權限「C:\ MyFolder文件」 – Sergey

+1

假設它不僅僅是權限 - 因爲你使用的是獨立的log4net config文件,你應該刪除''和''元素,因爲它們只適用於app/web.config文件。還可以使用'log4net.Config.XmlConfigurator.Configure()'的重載,它允許您傳入該文件。你可以檢查'LogManager.GetRepository()。Configured'來查看配置是否已經加載。如果它仍然不起作用,[添加一個跟蹤偵聽器到調試輸出](http://haacked.com/archive/2006/09/27/Log4Net_Troubleshooting.aspx/) – stuartd

+0

你確定log4net.dll是在bin目錄中可用? –

回答

0

錯誤在你的屬性:

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

您定義配置文件,但您使用的配置在app.config。

這將解決您的問題:應用程序池的用戶到您的文件夾

[assembly: log4net.Config.XmlConfigurator()]