0

我需要将日志文件路径更改为自定义路径。

我有一个代码,它在 wwwroot 文件夹中生成文件。

  public static ILog logger = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);

    protected void Application_Start(object sender, EventArgs e)
    {
        log4net.Config.XmlConfigurator.Configure();

        FileAppender rootAppender = (FileAppender)((log4net.Repository.Hierarchy.Hierarchy)LogManager.GetRepository()).Root.Appenders[0];           
        string filename = rootAppender.File;
        Global.logger.Error("Log 4 net filename: " + filename);         
    }

请有人帮我解决这个问题。

谢谢

这就是我的配置文件中的内容。

   <!-- Log file locaation -->
<param name='File' value='TS_GUI_Logs.coplog'/>
<param name='AppendToFile' value='true'/>

我不想在配置中设置文件名。相反,我想从我的代码后面设置它。

4

2 回答 2

1

你检查过你的配置文件吗?此代码从配置文件中读取文件名。

如果您需要所有内容的自定义路径,请更改配置文件中的路径。(只要确保你知道你的代码中的所有消费者是谁。)如果你需要一个自定义路径来做一件事,你需要创建一个新的 FileAppender。

于 2012-07-23T21:53:11.093 回答
0

你可以有这样的 log4net 配置:

<log4net debug="true">
  <appender name="LogFileAppender" type="log4net.Appender.FileAppender">
    <file type="log4net.Util.PatternString" value="%property{LogFileName}" />

应用程序启动代码将如下所示:

    log4net.GlobalContext.Properties["LogFileName"] = "C:\\aaaaa.log";
    log4net.Config.XmlConfigurator.Configure();
于 2019-11-15T06:37:14.393 回答