| 목차 >> Logging +- GlueLog +- logback +- logback ----+- appender |
자바 로깅 구현체(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>
위의 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"/><!– keep up to 30 files before removing them –>
</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>
| Prev | Home | Next |