【问题标题】:Log4net have a FileAppender with date patternLog4net 有一个带有日期模式的 FileAppender
【发布时间】:2016-08-10 10:54:21
【问题描述】:

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

在 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。

【问题讨论】:

    标签: c# log4net log4net-configuration


    【解决方案1】:

    做到了:

    <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>
    

    【讨论】:

      猜你喜欢
      • 2015-10-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-04-29
      • 2011-02-16
      相关资源
      最近更新 更多