Log4net有一个日期模式的FileAppender

本文关键字:FileAppender 模式 日期 有一个 Log4net | 更新日期: 2023-09-27 18:01:46

我正在尝试做一些我认为很简单的事情。

在log4net中有一个FileAppender,文件名中有一个日期。

在你急于回答这个问题之前,我需要澄清一下,我不需要RollingFileAppender,因为我知道使用那个是可能的。我想在每次运行控制台应用程序时生成1个日志文件,所以我不需要滚动文件追加器,每次只生成1个文件,并附带时间戳。

这就是它变得棘手的地方,因为这个配置:

<log4net>
    <root>
        <level value="ALL" />
        <appender-ref ref="MyFileAppender" />
    </root>
    <appender name="MyFileAppender" type="log4net.Appender.FileAppender">
        <file value="logs'" />
        <datePattern value="dd.MM.yyyy'.log'" />
        <appendToFile value="true" />
        <lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
        <layout type="log4net.Layout.PatternLayout">
            <conversionPattern value="%date %level %logger - %message%newline" />
        </layout>
    </appender>
</log4net>

给出这个错误:

log4net:ERROR XmlHierarchyConfigurator: Cannot find Property [datePattern] to se
t object on [log4net.Appender.FileAppender]

如果我没有模式,只有一个静态文件,每次应用程序都要重写它。

所以这是不可能的文件追加器吗?我使用的版本是1.2.15.0。

Log4net有一个日期模式的FileAppender

<appender name="FileAppender" type="log4net.Appender.FileAppender">
    <file type="log4net.Util.PatternString" value="logs'App-%date{yyyy-MM-dd_HH-mm-ss}.log" />
    <appendToFile value="true" />
    <lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
    <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%date [%2thread] %-5level - %message%newline" />
    </layout>
</appender>