如何使用log4net登录Common Application Data(appdata)中的文件?

时间:2009-10-22 14:22:00

标签: log4net

我无法找到关于如何在appdata中登录文件的明确答案/示例

  

C:\ Documents and Settings \ All Users \ Application Data \ CompanyName \ ApplicationName \ Logs \ app.log

我不想对app.config中的路径进行“硬编码”,而宁愿使用Environment.SpecialFolder.CommonApplicationData

2 个答案:

答案 0 :(得分:1)

是的,请看my answer to this question。它详细说明了如何在log4net配置中配置此路径设置。

答案 1 :(得分:-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();
    }
  }