2013-08-27 204 views
0

在我的應用程序中,我使用log4net創建日誌。我想在安裝應用程序的位置創建日誌文件。也就是說,如果應用程序安裝在c:\下,則應該在c:\App_Instal_path\Logs(folder)中生成日誌文件。如果是D:\,那麼日誌文件應該在D:\App_Instal_path\Logs(folder)之下。我曾經做過這樣的:Log4net動態生成日誌文件

<appender name="ColoredFileAppender" type="log4net.Appender.RollingFileAppender" > 
<file type="log4net.Util.PatternString"/> 
<file value=***NEEDS TO BE FILLED*** /> 

任何反應將非常感激..

+0

試試這個:HTTP://stackoverflow.com/questions/1535736/log4net-how-can-i-change-the-file -location-programmatically-c – Nahum

+0

您是否嘗試將文件值設置爲「」?要麼 」\」 ?這將保存運行應用程序的日誌。 – ilansch

回答

3

你可以把日誌文件靠近你的exe文件,如果你這樣寫:

<file value="log-file.txt" /> 

在這種情況下, ,你把日誌文件夾中的日誌,靠近你的exe文件:

<file value="Logs/log-file.txt" /> 

在這種情況下,你把日誌文件系統TMP文件夾中:

<file value="${TMP}\log-file.txt" /> 

看看這裏的更多信息: http://logging.apache.org/log4net/release/config-examples.html

+0

謝謝你:在你的第二個答案它像日誌\ log-file.txt ??(\而不是/)? – vysakh

+0

我認爲沒關係。在例子[鏈接](http://forums.asp.net/t/1052690.aspx)使用「\」,但我看了我的工作項目中的配置部分 - 我在這裏使用「/」,它的工作很好。 –

+2

@vysakh實際上.NET(即底層的Win32 API)在大多數情況下都支持正斜槓'/'或反斜槓'\\'作爲目錄分隔符。爲了一致性,我建議使用反斜槓。 –