如何配置 RollingFileAppender 以使用 log4net 按日期和大小滚动? [英] How do I configure a RollingFileAppender to roll by date and size with log4net?

查看:20
本文介绍了如何配置 RollingFileAppender 以使用 log4net 按日期和大小滚动?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I am configure log4net to use a composite RollingFileAppender so that the current file is always named logfile.log and all subsequent files are named logfile-YYYY.MM.dd.seq.log where seq is the sequence number if a log exceeds a certain size within a single day. Unfortunately, I have had very little success in configuring such a setup.

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

My current configuration is pasted below. It has been updated based on several answers which gets me close enough for my needs. This generates files of the format: 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 导致记录器不写入任何文件.

to true causes the logger to not write any files.

推荐答案

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

We use the following (in 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文件

这篇关于如何配置 RollingFileAppender 以使用 log4net 按日期和大小滚动?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆