xml - 如何使用 log4net 配置 RollingFileAppender 以按日期和大小滚动?

标签 xml configuration log4net composite rollingfileappender

我将 log4net 配置为使用复合 RollingFileAppender,以便当前文件始终命名为 logfile.log 并且所有后续文件都命名为 logfile-YYYY.MM.dd.seq.log 其中,seq 是日志在一天内超过特定大小时的序列号。不幸的是,我在配置这样的设置方面收效甚微。

编辑:

我当前的配置粘贴在下面。它已经根据几个答案进行了更新,这让我足够接近我的需要。这会生成以下格式的文件:logfile_YYYY.MM.dd.log.seq

<log4net>

    <root>
        <level value="DEBUG" />
        <appender-ref ref="RollingFileAppender" />
    </root>

    <appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender">
        <file value="logs\\logfile"/>
        <staticLogFileName value="false"/>
        <appendToFile value="true"/>
        <rollingStyle value="Composite"/>
        <datePattern value="_yyyy.MM.dd&quot;.log&quot;"/>
        <maxSizeRollBackups value="10"/>
        <maximumFileSize value="75KB"/>
        <layout type="log4net.Layout.PatternLayout">
            <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline"/>
        </layout>
        <filter type="log4net.Filter.LevelRangeFilter">
            <param name="LevelMin" value="DEBUG" />
            <param name="LevelMax" value="FATAL" />
        </filter>
    </appender>

</log4net>

一个有趣的笔记,设置

<staticLogFileName value="false"/>

设置为 true 会导致记录器不写入任何文件。

最佳答案

我们使用以下(在 Log4J 中):

<appender name="roller" class="org.apache.log4j.DailyRollingFileAppender">
    <param name="File" value="Applog.log"/>
    <param name="DatePattern" value="'.'yyyy-MM-dd"/>
    <layout class="org.apache.log4j.PatternLayout">
        <param name="ConversionPattern" value="[slf5s.start]%d{DATE}[slf5s.DATE]%n%p[slf5s.PRIORITY]%n%x[slf5s.NDC]%n%t[slf5s.THREAD]%n%c[slf5s.CATEGORY]%n%l[slf5s.LOCATION]%n%m[slf5s.MESSAGE]%n%n"/>
    </layout>
</appender>

这给了我们 Applog.log.yyyy-MM-dd 文件

关于xml - 如何使用 log4net 配置 RollingFileAppender 以按日期和大小滚动?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/243572/

相关文章:

xml - XSL if else 条件

javascript - 覆盖来自 cypress.env.json 的配置变量

java - 在多模块 Maven 项目中优化 Spring Bean?

sql-server-2005 - Log4net没有插入数据库?

c# - 无法从配置部分 'common/logging' 获取 Common.Logging 的配置

android - 有什么方法可以定义多个样式文件以避免在 Android 中使用一个巨大的样式文件吗?

xml - PowerShell:通过名称为 "ADDRESS"的 XML 进行解析

android - 为什么在 Android 模拟器中播放的音频带有回声/噪音?

log4net - RollingFileAppender,滚动后,它不再追加

javascript - 从 RSS/Atom 提要中提取图像