我尝试了在StackOverflow上找到的几个建议,最终得到了以下建议,似乎完成了任务:
<appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
<file type="log4net.Util.PatternString" value="%appSetting{LogsFolder}%date{yyyy}%date{MM}MyLogs.log" />
<lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
<appendToFile value="true" />
<rollingStyle value="Date" />
<datePattern value="ddMMyyyy" />
<preserveLogFileNameExtension value="true" />
<staticLogFileName value="true" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %-5level %logger (%property{culture}) %identity - %message%newline" />
</layout>
</appender>
然而,经过几个月的日志记录,我发现配置不正确,但我看不出是什么导致了问题。
我得到了一个文件夹结构,第一个是年,第二个是月。但我仍然没有12的文件夹(12月(。我拥有的最新文件夹是11,这个文件夹除了12月的日志外,还包含11月6日至30日的所有日志。
文件名为MyLogs12112018.log等,其中模式为天/月/年。
我真的很想在MyLogs和日期之间添加一个点(.(,但这是次要的。
但是,为什么日志文件被放在不正确的文件夹中?
以下内容如何:
<appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
<file type="log4net.Util.PatternString" value="%appSetting{LogsFolder}" />
<lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
<appendToFile value="true" />
<rollingStyle value="Date" />
<datePattern value="yyyy\MM\'MyLogs.'ddMMyyyy'.log'" />
<preserveLogFileNameExtension value="true" />
<staticLogFileName value="false" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %-5level %logger (%property{culture}) %identity - %message%newline" />
</layout>
</appender>
试试第二行:
<file type="log4net.Util.PatternString" value="%appSetting{LogsFolder}%date{yyyy}%date{MM}%date{dd}MyLogs.log" />''