Karlie_dev
{SourceCode}
Karlie_dev
전체 방문자
오늘
어제
  • 분류 전체보기
    • 컴퓨터공학
    • JAVA
    • CSS
    • 자바스크립트
    • 파이썬
    • 스프링
    • DB
      • SQL
      • MySQL
      • Oracle
      • MongoDB
      • MariaDB
    • 형상관리
    • IDE
      • VS Code
      • Eclipse
    • 알고리즘
    • Server
    • AWS
    • 개발소리
    • Docker&Kubernetes
    • Cloud (클라우드)

블로그 메뉴

  • 홈

공지사항

인기 글

태그

  • 스프링부트
  • 쿠버네티스
  • 자바스크립트
  • kubernetes
  • 스프링
  • oracle
  • 오라클
  • mariadb
  • 파이썬
  • MySQL
  • MongoDB
  • JavaScript
  • Spring
  • docker
  • 도커
  • 마리아디비
  • AWS
  • k8s
  • Minikube
  • nodejs

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
Karlie_dev

{SourceCode}

[logback] 특정 로그 출력 비활성화 하기 (logback.xml)
스프링

[logback] 특정 로그 출력 비활성화 하기 (logback.xml)

2020. 8. 8. 14:47

똑같은 쿼리 로그로 콘솔만 길어지는게, 보기 불편해서 sqlonly만 띄우도록 설정했다.

일단, sqltiming 부터 콘솔에 띄우지 않도록 하기 위해 해당 로그의 클래스를 파악해야했다.

로그 관련 클래스를 만들어서 로깅이벤트 네임을 출력해보고, 일단 당장 모든 로그를 허용하도록 리턴해준다.

 

package rootPackage.log;

import ch.qos.logback.classic.spi.ILoggingEvent;
import ch.qos.logback.core.filter.Filter;
import ch.qos.logback.core.spi.FilterReply;

public class LogbackFilter extends Filter<ILoggingEvent>{
    @Override
    public FilterReply decide(ILoggingEvent e){
        System.out.println(e.getLoggerName());
        return FilterReply.ACCEPT;
    }
}

 

그리고 해당 필터를 로깅 전에 실행하도록 logback.xml 파일 내 태그를 추가해준다.

 

<!-- Appenders -->
<appender name="console" class="ch.qos.logback.core.ConsoleAppender">
    <filter class="rootPackage.log.LogbackFilter"/>
    <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
        <pattern>%boldCyan(API) %boldYellow(%-5level) %green(%d{yyyy-MM-dd HH:mm:ss}) %boldMagenta([%logger{0}:%line]) %msg%n</pattern>
    </encoder>
</appender>

이제 로그 위에 jdbc.sqlonly와 같이 클래스명이 뜬다. 비활성화하고 싶은 로그의 클래스명을 logback.xml 내 아래와 같이 추가한다. 중요한 것은 level을 OFF로 해주어야 출력되지 않는다.

 

<logger level="OFF" appender-ref="console" name="jdbc.sqltiming"/>

 

이 때 appender-ref 속성은 <appender> 태그의 name 속성과 같이 맞춰주면 된다. 다 끝나면 로그를 출력할 때마다 클래스명을 출력할 수 없으니 이제 <filter> 태그를 logback.xml 파일내에서 제거한다.

 

최종 완료 된 모습으로, 쿼리 로그는 한 번만 출력된다.

 

 

저작자표시 (새창열림)
    '스프링' 카테고리의 다른 글
    • 스프링에서의 POJO란
    • 스프링과 스프링 부트의 차이
    • Spring Security 사용 중, POST 요청 시 403 뜨는 경우
    • 스프링 MariaDB log4jdbc 연결 오류 해결
    Karlie_dev
    Karlie_dev

    티스토리툴바