봄 부팅 로그


제목 : 봄 부팅日志
카탈로그 : 진정한
날짜 : 2019년 9월 23일 13시 35분 41초
자막 : SpringBoot日志
헤더 IMG는 "/img/article_header/article_header.png"
태그 : 봄 부팅
가지 범주를 :

  • SpringBoot

A. 로깅 프레임 워크

시장 로깅 프레임 워크;

7월, JCL, 제이 보스 로깅, logback, log4j에, log4j2, SLF4J ...

외관 로그 (로그 추상화 계층) 로그인 달성
JCL (자카르타 커먼즈 로깅) SLF4J (자바 간단한 로깅 외관) JBoss의 로깅 Log4j를 7월 (java.util.logging의) Log4j2 Logback

올바른 실행을 선택하는, 외관 (추상 계층)의 좌측으로부터 선택되고;

로그 외관 : SLF4J;

실현 로그 : Logback을;

SpringBoot : 맨 아래 계층은 스프링 프레임 워크, 스프링 프레임 워크의 기본 JCL입니다

SpringBoot 선택은 SLF4J와 logback 있습니다

이 .SLF4J를 사용하여

시스템 사용 방법 1. SLF4J

로깅 방법은 클래스 메소드 로그 추상화 계층 안에 20 호출을 기록 구현 직접 호출 할 수 없습니다;

SLF4J는 항아리 항아리와 logback을 달성하기 위해 시스템에 도입

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

public class HelloWorld {
  public static void main(String[] args) {
    Logger logger = LoggerFactory.getLogger(HelloWorld.class);
    logger.info("Hello World");
  }
}

아이콘 :

그림 삽입 설명 여기

구현 프레임 워크는 각 로그는 자체 구성 파일이 있습니다. SLF4J, 구성 파일을 사용한 후 또는 자체가 프로파일 메이크업 로깅 구현 프레임 워크.

기존의 2. 문제

동일한 프레임 시스템에서 로그의 복수의 존재 :

항목 A (SLF4J + logback) : 봄 (평민 로깅), 최대 절전 모드 (JBoss의 로깅), MyBatis로 같은

우리는 통합 로깅, 심지어는 다른 프레임을 할 수있다, 당신은 SLF4J 출력을 사용할 수 있습니다.

그림 삽입 설명 여기

SLF4J에 통합 된 시스템으로 모든 로그를 얻는 방법 :

  1. 다른 시스템 로그 파일을 제외 할
  2. 로깅 턴 디쉬의 원래 프레임을 대체
  3. 우리는 SLF4J 다른 구현을 가져

세 .SpringBoot 로그의 관계

가장 기본적인 로그 관련 의존 :

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter</artifactId>
    <version>2.1.8.RELEASE</version>
    <scope>compile</scope>
</dependency>

SpringBoot는 로깅에 사용 :

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-logging</artifactId>
    <version>2.1.8.RELEASE</version>
    <scope>compile</scope>
</dependency>

기본 종속 관계 :

그림 삽입 설명 여기

요약 :

  1. SpringBoot의 하층은 SLF4J + logback 방식으로 로그를 사용
  2. 다른 로그 SLF4J로 대체 할 SpringBoot
  3. 또한 중간 패키지는 원래 로깅 프레임 워크를 대체
  4. 우리가 다른 프레임 워크를 도입 할 경우,이 프레임 워크는 기본 로그 아웃을 제거해야합니다.

SpringBoot 자동으로 모든 로그에 적응하고, SLF4J + logback 로그, 다른 프레임의 도입, 프레임 필요는 종속 프레임 제외 로그 방식의 바닥을 사용합니다.

IV. 사용 로그

1. 기본 구성

SpringBoot 도움이 우리가 기본 로그를 구성

// 记录器
Logger logger = LoggerFactory.getLogger(getClass());
@Test
public void contextLoads() {

// 日志的级别
// 日志由高到低 trace<debug<info<warn<error
// 可以调整输出的日志级别,日志就只会在这个级别
logger.trace("这是trace日志。。。。");
logger.debug("这是debug日志。。。");
// SpringBoot默认给我们使用的是info级别,没有指定级别的就用SpringBoot默认规定的级别,root级别
logger.info("这是info日志。。。");
logger.warn("这是warn日志。。");
logger.error("这是errorr日志");

}

로그 파일 출력 형식 :

로그 출력 형식 :

  • % D는 날짜와 시간을 나타냅니다

  • % 스레드는 스레드의 이름을 나타냅니다

  • % -5level : 화면 왼쪽에서 레벨 5 문자 폭

  • 로거 % {50}의 기간에 따라 나누어 50 자로 로거 이름을 나타낸다.

  • % 메시지 : 로그 메시지,

  • % N은 개행이며

    比如 : - % MSG % N [% 스레드] % -5level 로거 % {50} {%의 D : mm ss.SSS HH를 YYYY-MM-DD는}

logging.file logging.path 기술
(없음) (없음) 콘솔에서 만 출력
파일 이름을 지정합니다 (없음) my.log my.log로 출력 로그 파일
(없음) 지정된 디렉토리 는 / var / log 지정된 디렉토리에있는 파일에 Spring.log 출력

2. 지정 배치

자신의 구성 파일, springboot이 클래스 경로 지방 분권의 기본 구성을 사용하지의 각 로그 프레임

시스템 로깅 사용자 정의
Logback logback-spring.xml, logback-spring.groovy, logback.xml또는logback.groovy
Log4j2 log4j2-spring.xml 또는 log4j2.xml
JDK (자바 백분율 로깅) logging.properties

logback.xml : 로깅 프레임 워크를 직접 확인

logback-spring.xml : 로깅 프레임 워크를 직접로드 로그 구성을 분석 SpringBoot에 의해 구성 항목을 로그인 할 수 없습니다, 당신은 SpringBoot이 기능 프로필 고급 사용할 수 있습니다

<springProfile name="staging">
    <!-- configuration to be enabled when the "staging" profile is active -->
  	可以指定某段配置只在某个环境下生效
</springProfile>

예를 들면 :

<appender name="stdout" class="ch.qos.logback.core.ConsoleAppender">
    <!--
        日志输出格式:
   %d表示日期时间,
   %thread表示线程名,
   %-5level:级别从左显示5个字符宽度
   %logger{50} 表示logger名字最长50个字符,否则按照句点分割。 
   %msg:日志消息,
   %n是换行符
        -->
    <layout class="ch.qos.logback.classic.PatternLayout">
        <springProfile name="dev">
            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} ----> [%thread] ---> %-5level %logger{50} - %msg%n</pattern>
        </springProfile>
        <springProfile name="!dev">
            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} ==== [%thread] ==== %-5level %logger{50} - %msg%n</pattern>
        </springProfile>
    </layout>
</appender>
게시 26 개 원래 기사 · 원의 찬양 (27) · 전망 6858

추천

출처blog.csdn.net/qq_40705355/article/details/103634192