Log4Net RollingFileAppender 在 Win8/VS2013 中未提供自定义属性
本文关键字:自定义属性 VS2013 RollingFileAppender Win8 Log4Net | 更新日期: 2023-09-27 18:36:17
我正在使用Win7上的Visual Studio 2010在Log4Net中创建自定义属性,它能够使用正确的属性很好地创建所有内容。但是,如果我尝试在Win8和Visual Studio 2013上运行相同的程序,它确实会创建日志文件,但没有自定义属性。
我没有编辑任何东西,同样的事情在 WIn7 中工作,但在 Win8 中不起作用。
我不知道这两种环境发生了什么变化。谁能提示要寻找什么?
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" />
</configSections>
<log4net>
<appender name="CsvFileAppender" type="log4net.Appender.RollingFileAppender,log4net">
<file type="log4net.Util.PatternString" value="C:'TSAS_DRU_Log'%property{LogName}" />
<appendToFile value="true"/>
<maxSizeRollBackups value="10"/>
<maximumFileSize value="100MB"/>
<staticLogFileName value="true"/>
<layout type="TSAS_DRU_app.CsvPatternLayout, TSAS_DRU_app">
</layout>
</appender>
<root>
<level value="DEBUG" />
<appender-ref ref="CsvFileAppender" />
</root>
</log4net>
</configuration>
更新:我在代码中设置属性如下,该属性在 WIn7 中正常工作,但在 Win8 中无法正常工作,我刚刚将 Visual Studio 更新为 2013 年和 2010 版:
string LogName = "TSAS_DRU_Log_" + date + ".csv";
log4net.GlobalContext.Properties["LogName"] = LogName;
好的,它终于解决了,问题出在Win8机器的区域设置上,这导致日期格式更改,因此带有静态部分的日志文件的完整名称以及日期没有到来。
感谢log4net日志文件,它得到了解决,也感谢Psenner,他是log4net的处理程序之一,提供了见解。