如何配置log4j按时间,大小和开始滚动?

时间:2013-06-27 15:17:09

标签: java logging log4j log4j2

我需要配置记录器按时间(每小时或每天),按大小和开始滚动日志。我搜索了很多和红色log4j文档,现在我很困惑。 看起来可以通过以下方式完成:

  1. 使用Simon库
  2. 创建自定义类
  3. 使用log4j 2 beta
  4. 我无法在我的项目中添加新的第三方库(已经添加了log4j 2 beta),所以我考虑最后两个选项。 如果我选择第二个选项,我应该创建什么类?它应该是appender,rollingPolicy还是triggeringPolicy?

    log4j2真的会支持吗?

    感谢您的帮助,Yuri

1 个答案:

答案 0 :(得分:1)

我认为您不需要创建任何类,您应该只能通过配置实现所需的功能。 Log4J2文档提供了许多示例。 这是一个很好的起点:http://logging.apache.org/log4j/2.x/manual/appenders.html#RollingFileAppender

如果这还不够,请不要犹豫,在log4j-2用户邮件列表上提问。

配置示例:

<?xml version="1.0" encoding="UTF-8"?><configuration name="install" status="info">

<appenders>
    <!-- ################# InstallAppender ############################### -->
    <RollingFile name="InstallAppender"
                 fileName="${sys:installation.path}/installation/logs/post_install.log"
                 filePattern="${sys:installation.path}/installation/logs/post_install.log">
        <PatternLayout>
            <pattern>%d{dd/MM/yyyy HH:mm:ss} %-5p [%t] [%c{1}] %m%n</pattern>
        </PatternLayout>
        <Policies>
            <OnStartupTriggeringPolicy/>
        </Policies>
        <DefaultRolloverStrategy max="1"/>
    </RollingFile>
</appenders>

<loggers>
    <root level="info">
        <appender-ref ref="InstallAppender"/>
    </root>
</loggers>