2009-10-22 40 views
1

我似乎無法找到我如何能記錄到文件中的應用程序數據如何使用log4net登錄到通用應用程序數據(appdata)中的文件?

下的明確的答案/例如:\ Documents和Settings \所有用戶\應用數據\公司名稱\應用程序名稱\日誌\應用程序的.log

我不希望 「硬編碼」 中app.config路徑,而寧願使用Environment.SpecialFolder.CommonApplicationData

+0

可能重複[Log4Net.How我可以更改文件位置以編程方式c#?](http://stackoverflow.com/questions/1535736/log4net-how-can-i-change-the-file-location-programmatically -c) – 2011-06-16 03:57:39

回答

-1

方式一:

log4net.Repository.Hierarchy.Hierarchy hierarchy = (log4net.Repository.Hierarchy.Hierarchy)log4net.LogManager.GetRepository(); 
var appenders = hierarchy.GetAppenders(); 
    foreach (var appender in appenders) 
    { 
    FileAppender fileAppender = appender as FileAppender; 
    if (fileAppender != null) 
    { 
     fileAppender.File = Path.Combine(Environment.SpecialFolder.CommonApplicationData, "myLogFile.log"); 
     fileAppender.ActivateOptions(); 
    } 
    } 
+0

有許多可接受的(慣用的,甚至是)通過log4net配置來做到這一點的方法。 log4net只是不爲運行時修改而構建。 – 2011-06-16 03:58:42

相關問題