출처 : https://hjh2004hjh.blogspot.kr/2016/06/logback-settingnot-spring-project.html
1. add jar file
- commons-compiler-2.7.8.jar
- commons-logging-1.2.jar
- janino.jar
- jcl-over-slf4j-1.7.21.jar
- logback-classic-1.1.7.jar
- logback-core-1.1.7.jar
- slf4j-api-1.7.21.jar
- Logback : http://logback.qos.ch/
- Janino : https://github.com/janino-compiler/janino
- SLF4j(Simple Logging Facade for Java) : http://www.slf4j.org/
- Commons-Logging : https://commons.apache.org/proper/commons-logging/
2. add context in web.xml
<listener>
<listener-class>
ch.qos.logback.classic.selector.servlet.ContextDetachingSCL
</listener-class>
</listener>
3. add file logback.xml
<?xml version="1.0" encoding="UTF-8"?>
<configuration scan="true" scanPeriod="60 seconds" debug="true">
<shutdownHook class="ch.qos.logback.core.hook.DelayingShutdownHook"/>
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<filter class="ch.qos.logback.core.filter.EvaluatorFilter">
<evaluator>
<expression>
return message.contains("Using Connection");
</expression>
</evaluator>
<OnMismatch>NEUTRAL</OnMismatch>
<OnMatch>DENY</OnMatch>
</filter>
<encoder>
<pattern>
%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n
</pattern>
</encoder>
</appender>
<timestamp key="bySecond" datePattern="yyyyMMdd_HH"/>
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>C://logs/logback-${bySecond}.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>logback.%d{yyyyMMdd_HH}.log.zip</fileNamePattern>
<!--File 30 days has passed is deleted.-->
<!--30日が過ぎたファイルは削除される。-->
<!--30일이 지난 파일은 삭제가 된다.-->
<maxHistory>30</maxHistory>
</rollingPolicy>
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<pattern>
%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n
</pattern>
</encoder>
</appender>
<root level="DEBUG" additivity="false">
<appender-ref ref="CONSOLE" />
<appender-ref ref="FILE" />
</root>
</configuration>