[백업][가리사니] java logback 을 사용하여 로그 남기기
java, maven

이 문서는 가리사니 개발자 포럼에 올렸던 글의 백업 파일입니다. 오래된 문서가 많아 현재 상황과 맞지 않을 수 있습니다.

좀더 자세한 설명은 아래 주소 참고. /2016/07/24/%EB%B0%B1%EC%97%85-%EA%B0%80%EB%A6%AC%EC%82%AC%EB%8B%88-Spring-%EC%97%90%EC%84%9C-Logback-%EC%82%AC%EC%9A%A9%ED%95%98%EA%B8%B0.html

로그백

  • 사이트 : http://logback.qos.ch/
  • 아직 실무에선 log4j 가 더 많이 쓰이지만 속도적으로 더 우세한 로거

pom.xml 설정

에 아래와 같이 추가합니다. ``` java 1.1.7 ``` 에 아래와 같이 추가합니다. ``` java ch.qos.logback logback-classic ${logback.version} ch.qos.logback logback-core ${logback.version} ``` - 변수 logback.version 을 만들고 싶지않다면, 직접 쓰셔도 상관없습니다. - 다만 직접쓰면 관리가 불편해지지 권장하진 않습니다. # logback.xml 설정 일반적인 maven 프로젝트를 생성하면 아래처럼 2개의 소스폴더가 있습니다. src/main/java src/test/java 리소스로 사용할 소스폴더를 하나 더 만듭니다. - src/main/resource가 처음부터 있다면 그대로 사용합니다. - 오른쪽 클릭 -> new -> 소스폴더 - src/main/resource 로 만들어줍니다. 해당 리소스폴더에 logback.xml 를 만듭니다. - 참고사항 : http://logback.qos.ch/manual/introduction.html ``` java log/%d{yyyy-MM-dd}.log %d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{35} - %msg%n ``` log/%d{yyyy-MM-dd}.log - 실행경로/log/yyyy-MM-dd.log 형식으로 로그파일을 작성 %d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{35} - %msg%n - 날짜시간 [쓰래드] 레벨 로거클래스 - 로그 - 예를들어 아래와 같이 출력됨 - 2016-06-20 10:00:00 [main] INFO maven.start.App - Hello world. # 실행하기 - 적당한 클래스를 하나 만들어봅니다. ``` java package maven.start; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import ch.qos.logback.classic.LoggerContext; import ch.qos.logback.core.util.StatusPrinter; public class App { public static void main( String[] args ) { // 로거 이용하기 Logger logger = LoggerFactory.getLogger(App.class); logger.debug("Hello debug"); logger.trace("Hello trace"); logger.info("Hello info"); logger.warn("Hello warn"); logger.error("Hello error"); // 로거의 상태를 출력 LoggerContext lc = (LoggerContext) LoggerFactory.getILoggerFactory(); StatusPrinter.print(lc); } } ``` 실행결과 - 프로젝트/log/날짜.log 2016-06-20 10:11:57 [main] DEBUG maven.start.App - Hello debug 2016-06-20 10:11:57 [main] TRACE maven.start.App - Hello trace 2016-06-20 10:11:57 [main] INFO maven.start.App - Hello info 2016-06-20 10:11:57 [main] WARN maven.start.App - Hello warn 2016-06-20 10:11:57 [main] ERROR maven.start.App - Hello error 실행결과 - 커맨드 (각종 설정 상태등이 출력됨)