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