如何使用 datePattern 在 log4net 中指定绝对文件路径?
Posted
技术标签:
【中文标题】如何使用 datePattern 在 log4net 中指定绝对文件路径?【英文标题】:How can I specify an absolute file path in log4net, with a datePattern? 【发布时间】:2021-12-12 04:27:57 【问题描述】:我希望将日志文件写入保存日志文件的目录。我正在使用带有 datePattern 的 RollingFileAppender。这是我所拥有的不起作用的:
<?xml version="1.0" encoding="utf-8"?>
<log4net>
<appender name="RollingFile" type="log4net.Appender.RollingFileAppender">
<file value="x:\Logs\log" />
<immediateFlush value="true" />
<appendToFile value="true" />
<datePattern value="yyyyMMdd"/>
<maximumFileSize value="10MB" />
<maxSizeRollBackups value="5" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date %level %thread %logger - %message%newline" />
</layout>
</appender>
<root>
<level value="DEBUG" />
<appender-ref ref="RollingFile" />
</root>
</log4net>
我希望这会产生类似的结果:
x:\Logs\log-20211026.log
我得到了
x:\Logs\log
我见过的不使用路径的例子,例如:
<file value="log">
<datePattern value="yyyyMMdd"/>
有没有办法让数据模式、绝对路径和“.log”结尾?
【问题讨论】:
【参考方案1】:我工作中的某个人给出了答案:
文件名应包含扩展名,并且需要设置 2 个附加属性:
<file value="x:\Logs\log.log"/>
<preserveLogFileNameExtention value="true"/>
<staticLogFileName value="false"/>
【讨论】:
以上是关于如何使用 datePattern 在 log4net 中指定绝对文件路径?的主要内容,如果未能解决你的问题,请参考以下文章
dojo / mvc / at不以约束datePattern的格式返回dijit / form / DateTextBox