log4j configurations with daily rolling, gzip and max backup files
Asked Answered
S

1

5

Is there an appender that I can use that will get me daily rolling, compression and max files?

I can get daily rolling file with compression using apache-log4j-extras with this configuration:

<appender name="debugFileRolling" class="org.apache.log4j.rolling.RollingFileAppender">
    <!-- The active file to log to -->
    <param name="file" value="debug.log" />
    <param name="append" value="true" />
    <param name="encoding" value="UTF-8" />
    <rollingPolicy class="org.apache.log4j.rolling.TimeBasedRollingPolicy">
        <param name="FileNamePattern" value="/%d{yyyy-MM-dd}-debug.log.gz" />
    </rollingPolicy>

    <layout class="org.apache.log4j.PatternLayout">
        <param name="ConversionPattern" value="%-5p %d [%t] %c: %m%n" />
    </layout>
</appender>

But I can't specify MaxBackupIndex as in org.apache.log4j.RollingFileAppender (note the slight namespace difference between the two).

I would like both without having to implement my own FileAppender, TriggeringPolicy, or RollingPolicy.

Spunk answered 27/10, 2013 at 9:41 Comment(0)
S
7

log4j 1.2 does not have an appender that supports all features required by you. You have to use your own implementation.

log4j2 seems to support your requirements. Please have a look at the log4j2 documentation:

<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="warn" name="MyApp" packages="">
  <Appenders>
    <RollingFile name="RollingFile" fileName="logs/app.log"
       filePattern="logs/$${date:yyyy-MM}/app-%d{MM-dd-yyyy}-%i.log.gz">
      <PatternLayout>
        <Pattern>%d %p %c{1.} [%t] %m%n</Pattern>
      </PatternLayout>
      <Policies>
        <TimeBasedTriggeringPolicy />
        <SizeBasedTriggeringPolicy size="250 MB"/>
      </Policies>
      <DefaultRolloverStrategy max="20"/>
    </RollingFile>
  </Appenders>
  <Loggers>
    <Root level="error">
      <AppenderRef ref="RollingFile"/>
    </Root>
  </Loggers>
</Configuration>
Shushubert answered 15/12, 2014 at 12:33 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.