티스토리 뷰
2016/09/08 - [개발/JAVA] - 스프링 부트(Spring boot)에서 프로퍼티 사용하기
전에 이어서 이번에는 logback을 적용시켜보겠습니다.
사실 이미 스프링 부트가 알아서 다 적용시켜놨지면 설정파일을 이용해서
프로파일 적용 및 파일에 쓰는 방법을 해보겠습니다.
logback.xml --> logback-spring.xml로 만드세요
src/main/resources 폴더에 logback.xml을 작성합니다.
아래 샘플은 제가 사용하고 있는 파일입니다.
<?xml version="1.0" encoding="UTF-8"?>
<configuration scan="true" scanPeriod="1 minutes">
<include resource="org/springframework/boot/logging/logback/defaults.xml"/>
<property value="/temp/log/log" name="LOG_FILE_PREFIX"/>
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<charset>UTF-8</charset>
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} ${LOG_LEVEL_PATTERN:-%5p}\(${PID:- }\)[%t] [%logger{30}:%line] %msg%n</pattern>
</encoder>
</appender>
<appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="FILE">
<encoder>
<charset>UTF-8</charset>
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} ${LOG_LEVEL_PATTERN:-%5p}\(${PID:- }\)[%t] [%logger{30}:%line] %msg%n</pattern>
</encoder>
<file>${LOG_FILE_PREFIX}.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${LOG_FILE_PREFIX}_%d{yyyyMMdd}.log</fileNamePattern>
</rollingPolicy>
</appender>
<springProfile name="local">
<logger name="net.donnert.spring.boot" level="DEBUG" />
<root level="INFO">
<appender-ref ref="CONSOLE"/>
</root>
</springProfile>
<springProfile name="!local">
<logger name="net.donnert.spring.boot" level="DEBUG" />
<root level="INFO">
<appender-ref ref="CONSOLE"/>
<appender-ref ref="FILE"/>
</root>
</springProfile>
</configuration>
테스트
springprofile노드를 이용해 현재 적용중인 프로파일 별 설정이 가능합니다.
xml을 보시면 현재 프로파일이 local인 경우는 CONSOLE appender를 이용, 콘솔에만 출력
local이 아닌 경우 CONSOLE, FILE appender를 이용 파일에도 출력을 하게 됩니다.
아래처럼 로깅 패턴이 정의된 형식으로 바뀌었으며 프로파일을 dev(local이 아닌 프로파일)로 바꾸게 되면 추가적으로 D:\temp\log\log.log파일이 생성되는 것을 보실 수 있습니다.
2016-09-19 11:03:28.664 INFO(10952)[main] [net.donnert.spring.boot.Timer:30] exampleTimer init
2016-09-19 11:03:28.833 INFO(10952)[main] [o.s.j.e.a.AnnotationMBeanExporter:431] Registering beans for JMX exposure on startup
2016-09-19 11:03:28.846 INFO(10952)[main] [o.s.s.a.ScheduledAnnotationBeanPostProcessor:244] No TaskScheduler/ScheduledExecutorService bean found for scheduled processing
2016-09-19 11:03:28.857 INFO(10952)[pool-2-thread-1] [net.donnert.spring.boot.Timer:37] StopWatch '': running time (millis) = 189
2016/09/23 - [개발/JAVA] - 스프링 부트(Spring boot)에서 mybatis(oracle) 적용하기
'개발 > Java, Kotlin' 카테고리의 다른 글
스프링 부트(Spring boot)로 restful API 서버 개발하기 (0) | 2016.10.12 |
---|---|
스프링 부트(Spring boot)에서 mybatis(oracle) 적용하기 (2) | 2016.09.23 |
스프링 부트(Spring boot)에서 profile, yml 사용하기 (0) | 2016.09.13 |
스프링 부트(Spring boot)에서 프로퍼티 사용하기 (0) | 2016.09.08 |
스프링 부트(Spring boot)로 scheduling 개발하기 (0) | 2016.09.07 |
- Total
- Today
- Yesterday
- Build
- Access
- resttemplate
- grant
- 맛집
- oracle
- ls
- 코틀린
- Database
- 합정
- vi
- java
- mybatis
- vim
- jQuery
- IntelliJ
- boot
- docker
- 도커
- Kotlin
- Shell
- 톰캣
- Linux
- Spring
- Eclipse
- maven
- properties
- Tomcat
- vrapper
- Profile
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |