我们有一个单线程的旧应用程序,并运行了它的多个实例。我注意到它创建了多个名称奇怪的日志。
PASManifest-EDWWhatIfDbg.20180918-17.log
问题是,我们有重复使用这些日志的程序,它们对日志名称非常敏感。
有没有一种方法可以配置log4net,使其仅创建并使用 <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>
{{1}}
答案 0 :(得分:1)
我怀疑preserveLogFileNameExtension
设置会干扰您的日期格式。我建议您将文件扩展名移至file
属性。例如这样的
<file value="D:\centralAM\Logs\EDWWhatIf\PASManifest-EDWWhatIfDbg" />
<datePattern value="yyyyMMdd-HH" />
<staticLogFileName value="false" />
不确定100%是否可以正常运行,因为我没有对其进行测试。