Log4Net 创建新文件
Log4Net creates new files
我们有一个单线程的旧应用程序,我们 运行 它有多个实例。我注意到它创建了多个具有奇怪命名的日志。
PASManifest-EDWWhatIfDbg.20180918-17.log
PASManifest-EDWWhatIfDbg.20180918-17.20180918-17.log.log
PASManifest-EDWWhatIfDbg.20180918-17.20180918-17.20180918-17.log.log.log
问题是,我们有重用这些日志的程序,它们对日志名称非常敏感。
有没有办法配置 log4net,使其只创建和使用 PASManifest-EDWWhatIfDbg.20180918-17.log
<appender name="EDWWhatIfDebugFile" type="log4net.Appender.RollingFileAppender">
<file type="log4net.Util.PatternString">
<conversionPattern value="D:\centralAM\Logs\EDWWhatIf\PASManifest-EDWWhatIfDbg"/>
</file>
<lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
<appendToFile value="true" />
<preserveLogFileNameExtension value="true" />
<staticLogFileName value="false" />
<rollingStyle value="Date" />
<datePattern value="'.'yyyyMMdd-HH'.log'" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%5thread] %-5level %type{1}.%method() - %message%newline%exception" />
</layout>
<filter type="log4net.Filter.LevelRangeFilter">
<levelMin value="DEBUG" />
<levelMax value="DEBUG" />
</filter>
</appender>
我怀疑 preserveLogFileNameExtension
设置干扰了您的日期模式。我建议您将文件扩展名移动到 file
属性。比如像这样:
<file value="D:\centralAM\Logs\EDWWhatIf\PASManifest-EDWWhatIfDbg" />
<datePattern value="yyyyMMdd-HH" />
<staticLogFileName value="false" />
不能 100% 确定它是否会起作用,因为我没有测试它。
我们有一个单线程的旧应用程序,我们 运行 它有多个实例。我注意到它创建了多个具有奇怪命名的日志。
PASManifest-EDWWhatIfDbg.20180918-17.log
PASManifest-EDWWhatIfDbg.20180918-17.20180918-17.log.log
PASManifest-EDWWhatIfDbg.20180918-17.20180918-17.20180918-17.log.log.log
问题是,我们有重用这些日志的程序,它们对日志名称非常敏感。
有没有办法配置 log4net,使其只创建和使用 PASManifest-EDWWhatIfDbg.20180918-17.log
<appender name="EDWWhatIfDebugFile" type="log4net.Appender.RollingFileAppender">
<file type="log4net.Util.PatternString">
<conversionPattern value="D:\centralAM\Logs\EDWWhatIf\PASManifest-EDWWhatIfDbg"/>
</file>
<lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
<appendToFile value="true" />
<preserveLogFileNameExtension value="true" />
<staticLogFileName value="false" />
<rollingStyle value="Date" />
<datePattern value="'.'yyyyMMdd-HH'.log'" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%5thread] %-5level %type{1}.%method() - %message%newline%exception" />
</layout>
<filter type="log4net.Filter.LevelRangeFilter">
<levelMin value="DEBUG" />
<levelMax value="DEBUG" />
</filter>
</appender>
我怀疑 preserveLogFileNameExtension
设置干扰了您的日期模式。我建议您将文件扩展名移动到 file
属性。比如像这样:
<file value="D:\centralAM\Logs\EDWWhatIf\PASManifest-EDWWhatIfDbg" />
<datePattern value="yyyyMMdd-HH" />
<staticLogFileName value="false" />
不能 100% 确定它是否会起作用,因为我没有测试它。