SpringBoot 에서 Logback 관리 기록 로 그 를 사용 합 니 다.
7876 단어 SpringBootLogback로그
SpringBoot
상 자 를 열 면 바로 사용 할 수 있 습 니 다.기본적으로 로그 프레임 워 크 를 설정 하고 사용 Commons Logging
하지만 기본 설정 도 자주 사용 하 는 로그 에 대한 지원 을 제공 합 니 다.예 를 들 어 자바 Util Logging,Log4J,Log4J 2 와 Logback.모든 Logger 는 설정 을 통 해 콘 솔 이나 파일 로 로그 내용 을 출력 할 수 있 습 니 다.콘 솔 출력
로그 에 대해 먼저 말 하 는 5 개의 로그 등급 LEVEL:높 은 등급 에서 낮은 등급 으로
ERROR
, WARN
, INFO
, DEBUG
, TRACE
낮은 등급 으로 높 은 등급 의 정 보 를 출력 하고 높 은 등급 으로 낮은 등급 의 정 보 를 출력 하지 않 습 니 다.예 를 들 어 등급 을ERROR
로 설정 하면WARN
,INFO
, DEBUG
의 정 보 는 출력 되 지 않 습 니 다.SpringBoot 에 서 는 기본적으로 ERROR
, WARN
등급 의 로 그 를 콘 솔 로 출력 합 니 다.Logback 에는INFO
등급 이 없습니다.FATAL
등급 으로 처 리 됩 니 다.우 리 는 두 가지 방식 으로 DEBUG 단계 로 전환 할 수 있 습 니 다.
ERROR
에 debug=true 를 설정 합 니 다.이 속성 이 true 로 설정 되 어 있 을 때 핵심 Logger(내장 용기,hibenate,spring 포함)는 더 많은 내용 을 출력 하지만 자신 이 사용 하 는 로 그 는 DEBUG 급 으로 출력 되 지 않 습 니 다.SpringBoot 는 1.4.0 버 전부터 컬러 로그 출력 을 지원 합 니 다.터미널 에서 ANSI 를 지원 한다 면 컬러 출력 을 설정 하면 로 그 를 더욱 읽 을 수 있 습 니 다.
application.properties
에application.properties
인 자 를 설정 하여 지원 합 니 다.spring.output.ansi.enabled
:ANSI-colored 출력 사용 하지 않 기(기본 항목)NEVER
:터미널 이 ANSI 를 지원 하 는 지 확인 합 니 다.그렇다면 컬러 출력(추천 항목)DETECT
:항상 ANSI-colored 형식 으로 출력 합 니 다.터미널 이 지원 하지 않 을 때 방해 정보 가 많 습 니 다.추천 하지 않 습 니 다SpringBoot 기본 설정 은 콘 솔 에 만 출력 되 며 파일 에 기록 되 지 않 습 니 다.그러나 저 희 는 보통 생산 환경 에서 사용 할 때 파일 로 기록 해 야 합 니 다.
파일 출력 을 늘 리 려 면
ALWAYS
에서application.properties
또는 logging.file
속성 을 설정 해 야 합 니 다. logging.path
:파일 을 설정 하면 절대 경로 일 수도 있 고 상대 경로 일 수도 있 습 니 다.logging.file=my.loglogging.file
:디 렉 터 리 를 설정 하면 이 디 렉 터 리 에 spring.log 파일 을 만 들 고 로그 내용 을 기록 합 니 다.예 를 들 어 logging.path=/var/log단계 제어
SpringBoot 에 서 는 로그 기록 을 완성 하 는 단계 만 설정 할 수 있 습 니 다.
설정 형식:logging.level.*=LEVEL
logging.path
:로그 단계 제어 접두사,*패키지 이름 또는 Logger 이름application.properties
:옵션 TRACE,DEBUG,INFO,WARN,ERROR,FATAL,OFFlogging.level
등급 으로 출력 합 니 다LEVEL
단계 로 출력기본 설정 을 사용 하지 않 으 려 면 로그 프로필 만 추가 하면 됩 니 다.로그 서 비 스 는 일반적으로
DEBUG
생 성 전에 초기 화 되 기 때문에WARN
설정 파일 을 통 해 제어 해 야 하 는 것 이 아 닙 니 다.따라서 시스템 속성 과 전통 적 인 Spring Boot 외부 프로필 을 통 해 로그 제어 와 관 리 를 잘 지원 할 수 있 습 니 다.로그 시스템 에 따라 다음 규칙 에 따라 파일 이름 을 구성 할 수 있 습 니 다.올 바 르 게 불 러 올 수 있 습 니 다.
ApplicationContext
가 있 는 파일 이름 을 로그 설정 으로 우선 사용 합 니 다(예 를 들 어 logback-spring.xml 를 사용 합 니 다.logback.xml 이 아 닌 logback-spring.xml 을 사용 합 니 다)사용자 정의 출력 형식
SpringBoot 에서
Spring
다음 매개 변수 로 출력 형식 을 제어 할 수 있 습 니 다. -spring
:콘 솔 에 출력 할 스타일 을 정의 합 니 다(JDK Logger 는 지원 되 지 않 습 니 다)application.properties
:파일 에 출력 할 스타일 을 정의 합 니 다(JDK Logger 는 지원 되 지 않 음)자주 사용 하 는 Logback 프로필 템 플 릿
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<!-- LogBack -->
<property name="LOG_HOME" value="d:/logs"/>
<!-- -->
<conversionRule conversionWord="clr" converterClass="org.springframework.boot.logging.logback.ColorConverter"/>
<conversionRule conversionWord="wex"
converterClass="org.springframework.boot.logging.logback.WhitespaceThrowableProxyConverter"/>
<conversionRule conversionWord="wEx"
converterClass="org.springframework.boot.logging.logback.ExtendedWhitespaceThrowableProxyConverter"/>
<!-- -->
<property name="CONSOLE_LOG_PATTERN"
value="${CONSOLE_LOG_PATTERN:-%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(--){faint} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}}"/>
<!-- Console -->
<appender name="console" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<!-- :%d ,%thread ,%-5level: 5 %msg: ,%n -->
<!--<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>-->
<pattern>${CONSOLE_LOG_PATTERN}</pattern>
<charset>utf8</charset>
</encoder>
</appender>
<!-- -->
<appender name="file" class="ch.qos.logback.core.rolling.RollingFileAppender">
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- -->
<fileNamePattern>${LOG_HOME}/mixedSys.%d{yyyy-MM-dd}.log</fileNamePattern>
</rollingPolicy>
<encoder>
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
</encoder>
</appender>
<!-- logger( . ) -->
<logger name="org.springframework.web.servlet.mvc.method.annotation.ExceptionHandlerExceptionResolver" level="DEBUG" >
<appender-ref ref="console" />
<appender-ref ref="file" />
</logger>
<logger name="org.springframework.boot" level="DEBUG"/>
<!-- Hibernate sql -->
<!-- <logger name="org.hibernate.type.descriptor.sql.BasicBinder" level="TRACE" />
<logger name="org.hibernate.type.descriptor.sql.BasicExtractor" level="DEBUG" />
<logger name="org.hibernate.SQL" level="DEBUG" />
<logger name="org.hibernate.engine.QueryParameters" level="DEBUG" />
<logger name="org.hibernate.engine.query.HQLQueryPlan" level="DEBUG" /> -->
<!-- -->
<root level="INFO"> <!-- debug -->
<appender-ref ref="console" />
<appender-ref ref="file" />
</root>
<!-- -->
<!-- <appender name="DB" class="ch.qos.logback.classic.db.DBAppender">
<connectionSource class="ch.qos.logback.core.db.DriverManagerConnectionSource">
<dataSource class="com.mchange.v2.c3p0.ComboPooledDataSource">
<driverClass>com.mysql.jdbc.Driver</driverClass>
<url>jdbc:mysql://127.0.0.1:3306/databaseName</url>
<user>root</user>
<password>root</password>
</dataSource>
</connectionSource>
</appender> -->
</configuration>
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
【Java・SpringBoot・Thymeleaf】 에러 메세지를 구현(SpringBoot 어플리케이션 실천편 3)로그인하여 사용자 목록을 표시하는 응용 프로그램을 만들고, Spring에서의 개발에 대해 공부하겠습니다 🌟 마지막 데이터 바인딩에 계속 바인딩 실패 시 오류 메시지를 구현합니다. 마지막 기사🌟 src/main/res...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.