微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

我配置log4net使用组合RollingFileAppender,以便当前文件总是命名为logfile.log,所有后续文件都命名为logfile-YYYY.MM.dd.seq.log其中seq是序列号,如果一个日志超过一定大小在一天内。不幸的是,我在配置这样的设置方面取得了很小的成功。

编辑:

我的当前配置被粘贴在下面。它已经基于几个答案更新,使我足够满足我的需要。这将生成格式为filefile_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文件

原文地址:https://www.jb51.cc/xml/293370.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。