我需要将日志文件路径更改为自定义路径。
我有一个代码,它将文件放在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'/>
我不想在配置中设置文件名。相反,我想从我的代码背后设置它。
答案 0 :(得分:1)
你检查过配置文件了吗?此代码从配置文件中读取文件名。
如果您需要所有内容的自定义路径,请更改配置文件中的路径。 (只需确保您知道该设置的所有使用者都在您的代码中。)如果您需要一个自定义路径,则需要创建一个新的FileAppender。
答案 1 :(得分: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();