我似乎無法找到我如何能記錄到文件中的應用程序數據如何使用log4net登錄到通用應用程序數據(appdata)中的文件?
下的明確的答案/例如:\ Documents和Settings \所有用戶\應用數據\公司名稱\應用程序名稱\日誌\應用程序的.log
我不希望 「硬編碼」 中app.config
路徑,而寧願使用Environment.SpecialFolder.CommonApplicationData
我似乎無法找到我如何能記錄到文件中的應用程序數據如何使用log4net登錄到通用應用程序數據(appdata)中的文件?
下的明確的答案/例如:\ Documents和Settings \所有用戶\應用數據\公司名稱\應用程序名稱\日誌\應用程序的.log
我不希望 「硬編碼」 中app.config
路徑,而寧願使用Environment.SpecialFolder.CommonApplicationData
是的,看看my answer to this question。它詳細解釋瞭如何在log4net配置中配置此路徑設置。
有趣的方法。 – RichardOD 2009-10-28 14:44:45
方式一:
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();
}
}
有許多可接受的(慣用的,甚至是)通過log4net配置來做到這一點的方法。 log4net只是不爲運行時修改而構建。 – 2011-06-16 03:58:42
可能重複[Log4Net.How我可以更改文件位置以編程方式c#?](http://stackoverflow.com/questions/1535736/log4net-how-can-i-change-the-file-location-programmatically -c) – 2011-06-16 03:57:39