티스토리 뷰
Spring Framework 에서 Logback 설정 예 입니다.
Logback에서 condition 사용을 위해서는 janino 라이브러리가 추가 되어야 합니다.
<dependency>
<groupId>org.codehaus.janino</groupId>
<artifactId>janino</artifactId>
<version>3.0.6</version>
</dependency>
parameter 중 image data가 있어 image data는 replace하여 logging 하도록 처리하고 있습니다.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?xml version="1.0" encoding="UTF-8"?> | |
<!DOCTYPE xml> | |
<configuration scan="true" scanPeriod="60 seconds"> | |
<if condition='p("spring.profiles.active").equals("dev")'> | |
<then><property name="LOG_HOME" value="/DevServer_Log/" /><property name="LOG_LEVEL" value="INFO" /></then> | |
<else><property name="LOG_HOME" value="/WebServer_Log/" /><property name="LOG_LEVEL" value="WARN" /></else> | |
</if> | |
<if condition='p("spring.profiles.active").equals("scheduled")'> | |
<then><property name="FILE_NAME" value="server1" /></then> | |
<else><property name="FILE_NAME" value="server2" /></else> | |
</if> | |
<!-- console로 log 남기기 --> | |
<appender name="console" class="ch.qos.logback.core.ConsoleAppender"> | |
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"> | |
<charset>UTF-8</charset> | |
<pattern>[%-5level] %d{yyyy-MM-dd HH:mm:ss} [%logger] - %replace(%msg){'data:image\\/png;base64,.*$', 'data:image'}%n</pattern> | |
</encoder> | |
</appender> | |
<!-- file로 log 남기기 --> | |
<appender name="file" class="ch.qos.logback.core.rolling.RollingFileAppender"> | |
<file>${LOG_HOME}${FILE_NAME}.log</file> | |
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy"> | |
<fileNamePattern>${LOG_HOME}${FILE_NAME}.%d{yyyy-MM-dd}.%i.log</fileNamePattern> | |
<maxFileSize>10MB</maxFileSize> | |
</rollingPolicy> | |
<encoder> | |
<charset>UTF-8</charset> | |
<pattern>[%-5level] %d{yyyy-MM-dd HH:mm:ss} [%logger] - %replace(%msg){'data:image\\/png;base64,.*$', 'data:image'}%n</pattern> | |
</encoder> | |
</appender> | |
<logger name="jdbc.resultsettable" level="${LOG_LEVEL}" /> | |
<logger name="jdbc.sqlonly" level="INFO" /> | |
<logger name="org.springframework" level="WARN" /> | |
<logger name="ASPECT_LOGGER" level="INFO" /> | |
<root level="${LOG_LEVEL}"> | |
<appender-ref ref="console" /> | |
<appender-ref ref="file" /> | |
</root> | |
</configuration> |
'IT > Spring' 카테고리의 다른 글
Spring Security 4.2 sessionInformationExpiredStrategy 사용 (0) | 2017.02.21 |
---|---|
Quartz Schedule 사용 시 parameter 전달 xml에 설정하는 방법 (0) | 2016.11.30 |
Spring Security 4.2 Released (0) | 2016.11.15 |
WebSquare + Spring MVC Test Code (0) | 2016.10.05 |
annotation-driven 설정 없이 @ControllerAdvice 사용 설정 (0) | 2016.08.24 |