ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 03. MyBatis 로그 남기기(Log4j 2)
    MyBatis 2021. 12. 7. 00:33
    반응형

    MyBatis(마이바티스)는 내부 로그 팩토리를 사용하여 로깅 정보를 제공합니다. 내부 로그 팩토리는 로깅 정보를 다른 로그 구현체 중 하나에 전달합니다.

    아래 Logging(로깅) 구현체의 나열 순서는 내부적으로 선택하는 우선순위입니다. 만약 MyBatis(마이바티스)가 아래 구현체중 하나도 찾지 못한다면 Logging(로깅)을 하지 않습니다.

    • SLF4J
    • Apache Commons Logging
    • Log4j 2
    • Log4j
    • JDK logging

    저는 Log4j 2을 적용하기로 헀습니다.

    아래 사이트에 접속하여 Log4j 2 관련 소스를 받아줍니다.

    https://logging.apache.org/log4j/2.x/download.html

     

    Log4j – Download Apache Log4j 2

    <!-- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to You under the Apa

    logging.apache.org

     

     

    다운로드한 파일을 열어보면 .jar 파일이 많은데 그 중 log4j-api-2.14.1.jar, log4j-core-2.14.1.jar 파일을 자신의 프로젝트 WEB-INF/lib 아래에 추가하여 줍니다.

     

    log4j2의 경우 클래스 경로에서 설정 파일을 찾습니다.

    설정파일은 properties, yaml, json, xml 형태로 작성이 가능합니다.

    설정파일의 이름은 log4j2-test 또는 log4j2 으로 지정되어있습니다.

    설정 파일명과 적용 우선 순위는 아래와 같습니다.

    log4j2-test.properties-> log4j2-test.yml -> log4j2-test.jsn -> log4j2-test.xml

    -> log4j2.properties -> log4j2.yml -> log4j2.jsn -> log4j2.xml

    설정 파일이 없을 경우 DefaultConfiguration을 사용하게 됩니다.

     

    log4j2.properties 파일명으로 아래와 같이 설정파일을 생성하여 줍니다.

    status = TRACE
    name = PropertiesConfig
     
    filter.threshold.type = ThresholdFilter
    filter.threshold.level = trace
     
    appender.console.type = Console
    appender.console.name = STDOUT
    appender.console.layout.type = PatternLayout
    appender.console.layout.pattern = %m%n
    appender.console.filter.threshold.type = ThresholdFilter
    appender.console.filter.threshold.level = TRACE
     
    rootLogger.level = info
    rootLogger.appenderRef.stdout.ref = STDOUT

     

    그 후 만들어진 log4j2.properties 파일을 클래스경로(src/main/resouces)에 추가하여 줍니다.

     

    그 후 시스템을 실행하여 줍니다.

    <log4j2 적용 전>

     

    <log4j2 적용 후>

     

    아래와 같이 소스상에 적용하면 콘솔에 확인이 가능합니다.

    Logger log4j = LogManager.getLogger();
    		
    log4j.info("asdsad");
    log4j.debug("Logging in user {}", userInfoList.get(0).getName()); //조회 결과 값


    또한 sql 문과 결과 정보까지 확인이 가능 합니다.

    반응형

    'MyBatis' 카테고리의 다른 글

    02. MyBatis properties 설정하기  (0) 2021.12.01
    01. MyBatis 설정 (Mysql )  (0) 2021.11.30
    00. 마이바티스(Mybatis) 란?  (0) 2021.11.29

    댓글

Designed by Tistory.