목차 >> Logging 
+- GlueLog  
+- logback  
+- logback  
----+- appender

10장 Logging

log4j

자바 로깅 구현체(Logger)로 log4j 을 사용할 경우, 다음 2개의 dependency가 필요합니다. 그리고 log4j configuration이 필요합니다.log4j configuration과 관련된 자세한 것은 log4j manual을 참고합니다.

제공되는 예제 'sample-hello-log4j' 을 통해 응용해 보시기 바랍니다.

pom.xml 일부
<dependency>
    <groupId>org.apache.logging.log4j</groupId>
    <artifactId>log4j-slf4j2-impl</artifactId>
    <version>${log4j-slf4j2-impl-version}</version>
</dependency>
log4j.xml
<?xml version="1.0" encoding="UTF-8" ?>
<Configuration>
    <Appenders>
        <Console name="CONSOLE" target="SYSTEM_OUT">
            <PatternLayout pattern="[%t] %-5p - %c||%m%n"/>
        </Console>
    </Appenders>
    <Loggers>
        <Logger name="com.poscoict" level="debug" />
            <AppenderRef ref="CONSOLE"/>
        </Logger>
        <Logger name="org.springframework" level="info" />
            <AppenderRef ref="CONSOLE"/>
        </Logger>
        <Logger name="sample" level="info" />
            <AppenderRef ref="CONSOLE"/>
        </Logger>
        <Root level="warn"/>
            <AppenderRef ref="CONSOLE"/>
        </Root>
    </Loggers>
</Configuration>

appender

위의 log4j.xml에는 ConsoleAppender가 사용되었습니다. log4j 역시 ConsoleAppender외에도 RollingFileAppender, DailyRollingFileAppender, AsyncAppender 등이 있습니다. 다음은 ConsoleAppender와 RollingFileAppender를 함께 사용한 예입니다.

<?xml version="1.0" encoding="UTF-8" ?>
<Configuration>
    <Appenders>
        <!-- change the file name and pattern, size to your own -->
        <RollingFile name="fileLogger" fileName="logFile.log"
                     filePattern="logFile-%d{yyyy-MM-dd}-%i.log">
            <PatternLayout>
                <pattern>%d [%t] %-5level %logger - %msg%n</pattern>
            </PatternLayout>
            <Policies>
                <SizeBasedTriggeringPolicy size="5 MB" />
            </Policies>
            <DefaultRolloverStrategy max="30"/>&lt;!&ndash; keep up to 30 files before removing them &ndash;&gt;
        </RollingFile>
        <Console name="Console" target="SYSTEM_OUT">
            <PatternLayout pattern="%d [%t] %-5level %logger - %msg%n"/>
        </Console>
    </Appenders>
    <Loggers>
        <Logger name="sample" level="trace" additivity="false">
            <AppenderRef ref="Console"/>
            <AppenderRef ref="fileLogger"/>
        </Logger>
        <Logger name="test" level="debug" additivity="false">
            <AppenderRef ref="Console"/>
            <AppenderRef ref="fileLogger"/>
        </Logger>
        <Logger name="com.poscoict.glueframework.util.license.GlueLicenseManager" level="trace" additivity="false">
            <AppenderRef ref="Console"/>
            <AppenderRef ref="fileLogger"/>
        </Logger>
        <Logger name="org.springframework.jdbc.core.StatementCreatorUtils" level="trace" additivity="false">
            <AppenderRef ref="Console"/>
            <AppenderRef ref="fileLogger"/>
        </Logger>
        <Logger name="org.springframework" level="warn" additivity="false">
            <AppenderRef ref="Console"/>
            <AppenderRef ref="fileLogger"/>
        </Logger>
        <Logger name="com.poscoict.glueframework.dao.manager.GlueQueryLoader" level="trace" additivity="false">
            <AppenderRef ref="Console"/>
            <AppenderRef ref="fileLogger"/>
        </Logger>
        <Logger name="com.poscoict" level="debug" additivity="false">
            <AppenderRef ref="Console"/>
            <AppenderRef ref="fileLogger"/>
        </Logger>
        <Root level="warn">
            <AppenderRef ref="Console"/>
            <AppenderRef ref="fileLogger"/>
        </Root>
    </Loggers>
</Configuration>

^L

Prev Home Next