記事一覧はこちら

log4j 2.3で必要最低限の設定サンプル

xmlはこんな感じ

<?xml version="1.0" encoding="UTF-8"?>
<Configuration>
    <Properties>
        <Property name="filename">$${sys:catalina.base}/logs/logTest2.log
        </Property>
    </Properties>
    <Appenders>
        <Console name="Console" target="SYSTEM_OUT">
            <PatternLayout
                pattern="%d{yyy/MM/dd HH:mm:ss.SSS} %-5level %class{36} %L %M - %msg%n" />
        </Console>
        <RollingFile name="RollingFile" fileName="${filename}"
            filePattern="$${sys:catalina.base}/logs/test-%d{yyyy-MM-dd HHmmss}.logTest.txt.gz">
            <PatternLayout
                pattern="%d{yyyy-MM-dd HH:mm:ss.SSS} | [%t] | %-5level | %c{36} | %msg%n" />
            <Policies>
                <SizeBasedTriggeringPolicy size="1 MB" /> 
                <!--  <TimeBasedTriggeringPolicy /> -->
            </Policies>
        </RollingFile>
        <File name="ApplicationLog" fileName="logTest2.log" />
    </Appenders>

    <Loggers>
        <Root level="trace">
            <AppenderRef ref="RollingFile" />
            <AppenderRef ref="Console" />
        </Root>
    </Loggers>
</Configuration>

javaコードはこんな感じ

private final org.apache.logging.log4j.Logger logger = LogManager.getLogger(ExecutorContextListener.class);

javadocがこんな感じ Overview (Apache Log4j API 2.3 API)