当我将文件值设置为 logs\log-file.txt
时,它究竟会在哪里创建这个文件夹?在/bin
目录下?
我的 web.config 看起来像这样:
<log4net>
<appender name="FileAppender" type="log4net.Appender.FileAppender">
<file value="logs\log-file.txt" />
<appendToFile value="true" />
<lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
</layout>
</appender>
</log4net>
这是正确的记录方式吗:
ILog logger = LogManager.GetLogger(typeof(CCController));
logger.Error("Some Page", ex); // where ex is the exception instance
最佳答案
如果您希望将日志文件放置在指定位置,该位置将在运行时决定,可能是您的项目输出目录,那么您可以以这种方式配置您的 .config
文件条目
<file type="log4net.Util.PatternString" value="%property{LogFileName}.txt" />
然后在调用log4net configure
之前的代码中,设置如下新路径
log4net.GlobalContext.Properties["LogFileName"] = @"E:\\file1"; //log file path
log4net.Config.XmlConfigurator.Configure();
有多简单? :)
关于c# - log4net 将在哪里创建这个日志文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2815940/