-
스프링(Spring) SLF4J와 로그백(Logback)을 이용한 로그 남기기Spring/환경설정 2018. 9. 6. 10:45
자바에는 commons-logging, log4j, java util logging, logback등의 다양한 로깅 툴이 존재한다.
이전에는 log4j와 commons-logging이 주로 사용되었고, 스프링에서도 이를 사용했다. SLF4J가 나온 이후 많은 오픈소스 프로젝트가 SLF4J를 선택하고 있다.
여러 오픈소스 프로젝트를 사용할 때 로깅 툴이 혼재되어 충돌이 빈번하게 발생한다. 이를 방지하게 위해 SLF4J를 많이 사용한다.
pom.xml 의 Dependencies 탭에 다음의 3가지를 추가한다.
1) slf4j-api
2) jcl-over-slf4j
3) logback-classicspring-webmvc의 로깅 툴 commons-logging을 충돌 방지 위해 제거한다.
src/main/resources 폴더 마우스 오른쪽 버튼 - New - File 클릭해
logback.xml 파일명 입력해 생성<?xml version="1.0" encoding="UTF-8"?> <configuration> <appender name="console" class="ch.qos.logback.core.ConsoleAppender"> <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"> <pattern> ▶%-5level %d{HH:mm:ss:.SSS} [%thread] %logger[%method:%line] - %msg%n </pattern> </encoder> </appender> <!-- 패키지 안에 있는 것들 org.springframework 패키지로 시작하는 것은 console에 INFO로 찍겠다. --> <logger name="org.springframework" level="INFO" /> <!-- console로 이름을 가진 appender를 info 레벨로 찍겠다. --> <root level="INFO"> <appender-ref ref="console" /> </root> </configuration>
logback.xml 코드. pattern에 로그 남길 패턴을 지정한다.
Logback Log의 주요 패턴은 다음과 같다이제 로그를 사용할 수 있다.
다음과 같이 컨트롤러에 Logger 객체를 멤버변수로 등록 후
info 메소드를 통해 원하는대로 문자열 출력하면
패턴대로 출력이 되고 있고 원하는 정보도 출력할 수 있다.
'Spring > 환경설정' 카테고리의 다른 글
프로젝트 Context Path (URL) 변경 (0) 2018.09.06 프로젝트 에러 검사 (0) 2018.09.06 스프링(Spring) 쿼리 로그 (Query log) 남기기 (0) 2018.09.06 pom.xml Dependencies 검색 설정 (0) 2018.09.06 스프링(Spring) 프로젝트 환경설정 (0) 2018.09.06