>  기사  >  Java  >  Spring Boot의 로그 관리에 대한 자세한 설명

Spring Boot의 로그 관리에 대한 자세한 설명

巴扎黑
巴扎黑원래의
2017-08-22 16:43:141736검색

서문TFhHTML5 Chinese Learning Network-HTML5 Pioneer Learning Network

Spring Boot는 모든 내부 로그에서 Commons Logging을 사용하지만 기본 구성에서는 일반적으로 사용되는 로그도 지원합니다.TFhHTML5 Chinese Learning Network-HTML5 Pioneer 학습 네트워크
예: Java Util Logging, Log4J, Log4J2 및 Logback. 각 로거는 콘솔이나 파일을 사용하여 로그 내용을 출력하도록 구성할 수 있습니다. TFhHTML5 중국어 학습 네트워크 - HTML5 선구자 학습 네트워크

로그 출력 형식TFhHTML5 중국어 학습 네트워크 - HTML5 선구자 학습 네트워크

2016-08-19 10:22:04.233 INFO 7368 --- [   main] com.juzi.AsyncTest      : Started AsyncTest in 10.084 seconds (JVM running for 12.545)

출력 콘텐츠 요소는 다음과 같습니다: TFhHTML5 Chinese Learning Network-HTML5 Pioneer Learning Network

  • 시간 및 날짜 - 밀리초까지 정확함

  • 로그 수준 - ERROR, WARN, INFO, DEBUG 또는 TRACE

  • 프로세스 ID

  • 구분 기호 ― ― 실제 로그의 시작을 식별합니다.

  • 스레드 이름 ― 대괄호로 묶습니다(콘솔 출력이 잘릴 수 있음)

  • 로거 이름 ― 일반적으로 로그의 클래스 이름을 사용합니다. 소스 코드

  • 로그 내용

콘솔 출력TFhHTML5 Chinese Learning Network - HTML5 Pioneer Learning Network

Spring Boot에서는 ERROR, WARN 및 INFO 레벨 로그가 기본적으로 콘솔에 출력되도록 구성됩니다. . TFhHTML5 중국어 학습 네트워크 - HTML5 선구자 학습 네트워크

두 가지 방법으로 DEBUG 레벨로 전환할 수 있습니다: TFhHTML5 중국어 학습 네트워크 - HTML5 선구자 학습 네트워크
TFhHTML5 중국어 학습 네트워크 - HTML5 선구자 학습 네트워크

1 . 다음과 같은 명령을 실행한 후 디버그 플래그를 추가합니다: $ java -jar myapp.jar debug$ java -jar myapp.jar debugTFhHTML5中文学习网 - HTML5先行者学习网
TFhHTML5中文学习网 - HTML5先行者学习网

     2.在application.properties中配置debug=true,该属性置为true的时候,核心Logger(包含嵌入式容器、hibernate、spring)会输出更多内容,但是你自己应用的日志并不会输出为DEBUG级别。TFhHTML5中文学习网 - HTML5先行者学习网

多彩输出TFhHTML5中文学习网 - HTML5先行者学习网

如果你的终端支持ANSI,设置彩色输出会让日志更具可读性。通过在application.properties中设置spring.output.ansi.enabled参数来支持。TFhHTML5中文学习网 - HTML5先行者学习网

     1.NEVER:禁用ANSI-colored输出(默认项)TFhHTML5中文学习网 - HTML5先行者学习网
TFhHTML5中文学习网 - HTML5先行者学习网

     2.DETECT:会检查终端是否支持ANSI,是的话就采用彩色输出(推荐项)TFhHTML5中文学习网 - HTML5先行者学习网
TFhHTML5中文学习网 - HTML5先行者学习网

     3.ALWAYS:总是使用ANSI-colored格式输出,若终端不支持的时候,会有很多干扰信息,不推荐使用TFhHTML5中文学习网 - HTML5先行者学习网

文件输出TFhHTML5中文学习网 - HTML5先行者学习网

Spring Boot默认配置只会输出到控制台,并不会记录到文件中,但是我们通常生产环境使用时都需要以文件方式记录。TFhHTML5中文学习网 - HTML5先行者学习网

若要增加文件输出,需要在application.properties中配置logging.filelogging.path属性。TFhHTML5中文学习网 - HTML5先行者学习网

     1.logging.file,设置文件,可以是绝对路径,也可以是相对路径。如:logging.file=my.logTFhHTML5中文学习网 - HTML5先行者学习网
TFhHTML5中文学习网 - HTML5先行者学习网

     2.logging.path,设置目录,会在该目录下创建spring.log文件,并写入日志内容,如:logging.path=/var/logTFhHTML5中文学习网 - HTML5先行者学习网

日志文件会在10Mb大小的时候被截断,产生新的日志文件,默认级别为:ERROR、WARN、INFO *TFhHTML5中文学习网 - HTML5先行者学习网

级别控制TFhHTML5中文学习网 - HTML5先行者学习网

在Spring Boot中只需要在application.properties中进行配置完成日志记录的级别控制。TFhHTML5中文学习网 - HTML5先行者学习网

配置格式:logging.level.*=LEVELTFhHTML5 Chinese Learning Network-HTML5 Pioneer Learning Network

TFhHTML5 Chinese Learning Network-HTML5 Pioneer Learning Network🎜 🎜 🎜 2. application.properties에서 debug=true를 구성합니다. 이 속성이 true로 설정되면 코어 Logger(임베디드 컨테이너, 최대 절전 모드 및 spring 포함)가 출력됩니다. 업데이트 내용은 많지만, 자신의 애플리케이션 로그는 DEBUG 수준으로 출력되지 않습니다. 🎜TFhHTML5 중국어 학습 네트워크 - HTML5 Pioneer Learning Network🎜🎜🎜🎜다채로운 출력🎜🎜TFhHTML5 중국어 학습 네트워크 - HTML5 Pioneer Learning Network🎜🎜🎜터미널이 ANSI를 지원하는 경우 컬러 출력을 설정하면 로그를 더 쉽게 읽을 수 있습니다. application.properties에서 spring.output.ansi.enabled 매개변수를 설정하여 지원됩니다. 🎜TFhHTML5 중국어 학습 네트워크 - HTML5 선구자 학습 네트워크 🎜🎜🎜 1. 절대: ANSI 색상 출력 비활성화(기본 항목) 🎜TFhHTML5 중국어 학습 네트워크 - HTML5 선구자 학습 네트워크 🎜🎜🎜TFhHTML5 중국어 학습 네트워크 - HTML5 선구자 학습 네트워크 🎜🎜 🎜 2.DETECT: 터미널이 ANSI를 지원하는지 확인합니다. 그렇다면 컬러 출력을 사용합니다(권장) 🎜TFhHTML5 Chinese Learning Network-HTML5 Pioneer Learning Network🎜🎜🎜TFhHTML5 Chinese Learning Network-HTML5 Pioneer Learning Network🎜🎜🎜 3.ALWAYS : 항상 ANSI 색상 형식 출력을 사용하세요. 단말기가 지원하지 않으면 간섭 정보가 많을 수 있습니다. 🎜TFhHTML5 Chinese Learning Network-HTML5 Pioneer Learning Network🎜🎜🎜🎜파일 출력🎜🎜을 사용하지 않는 것이 좋습니다. TFhHTML5 중국어 학습 네트워크-HTML5 Pioneer Learning Network 🎜🎜🎜 Spring Boot의 기본 구성은 콘솔로만 출력되고 파일에 기록되지 않지만 프로덕션 환경에서 사용할 때는 일반적으로 파일에 기록해야 합니다. 🎜TFhHTML5 중국어 학습 네트워크 - HTML5 선구자 학습 네트워크🎜🎜🎜파일 출력을 늘리려면 application.properties에서 logging.file 또는 logging.path를 구성해야 합니다. 속성. 🎜TFhHTML5 중국어 학습 네트워크 - HTML5 Pioneer Learning Network🎜🎜🎜 1. logging.file, 절대 경로 또는 상대 경로일 수 있는 파일을 설정합니다. 예: logging.file=my.log🎜TFhHTML5 중국어 학습 네트워크-HTML5 선구자 학습 네트워크🎜🎜🎜TFhHTML5 중국어 학습 네트워크-HTML5 선구자 학습 네트워크🎜🎜🎜 2.logging.path , 디렉터리를 설정하면 spring.log 파일이 이 디렉터리에 생성되고 로그 내용이 기록됩니다. 예: logging.path=/var/log 🎜TFhHTML5 중국어 학습 네트워크 - HTML5 Pioneer Learning Network🎜🎜🎜로그 파일은 크기가 10Mb이면 잘리고 새 로그 파일이 생성됩니다. 기본 수준은 ERROR, WARN, INFO *🎜입니다. TFhHTML5 중국어 학습 네트워크 - HTML5 Pioneer Learning Network🎜🎜 🎜🎜레벨 제어🎜🎜TFhHTML5 중국어 학습 네트워크 - HTML5 Pioneer Learning Network🎜🎜🎜Spring Boot에서는 application.properties에서 레벨 제어만 구성하면 됩니다. code> 로깅 수준 제어를 완료합니다. 🎜TFhHTML5 중국어 학습 네트워크 - HTML5 선구자 학습 네트워크🎜🎜🎜구성 형식: <code>logging.level.*=LEVEL🎜TFhHTML5 중국어 학습 네트워크 - HTML5 선구자 학습 네트워크🎜🎜

1.logging.level: 로그 수준 제어 접두사, *는 패키지 이름 또는 로거 이름입니다logging.level:日志级别控制前缀,*为包名或Logger名TFhHTML5中文学习网 - HTML5先行者学习网
TFhHTML5中文学习网 - HTML5先行者学习网

     2.LEVEL:选项TRACE, DEBUG, INFO, WARN, ERROR, FATAL, OFFTFhHTML5中文学习网 - HTML5先行者学习网
TFhHTML5中文学习网 - HTML5先行者学习网

举例:TFhHTML5中文学习网 - HTML5先行者学习网

logging.level.com.juzi=DEBUG com.juzi包下所有class以DEBUG级别输出TFhHTML5中文学习网 - HTML5先行者学习网
TFhHTML5中文学习网 - HTML5先行者学习网

logging.level.root=WARN root日志以WARN级别输出TFhHTML5中文学习网 - HTML5先行者学习网

自定义日志配置TFhHTML5中文学习网 - HTML5先行者学习网

由于日志服务一般都在ApplicationContext创建前就初始化了,它并不是必须通过Spring的配置文件控制。TFhHTML5中文学习网 - HTML5先行者学习网
因此通过系统属性和传统的Spring Boot外部配置文件依然可以很好的支持日志控制和管理。TFhHTML5中文学习网 - HTML5先行者学习网

根据不同的日志系统,你可以按如下规则组织配置文件名,就能被正确加载:TFhHTML5中文学习网 - HTML5先行者学习网

     1.Logback:logback-spring.xml, logback-spring.groovy, logback.xml, logback.groovy logback日志配置TFhHTML5中文学习网 - HTML5先行者学习网
TFhHTML5中文学习网 - HTML5先行者学习网

     2.Log4j:log4j-spring.properties, log4j-spring.xml, log4j.properties, log4j.xmlTFhHTML5中文学习网 - HTML5先行者学习网
TFhHTML5中文学习网 - HTML5先行者学习网

     3.Log4j2:log4j2-spring.xml, log4j2.xmlTFhHTML5中文学习网 - HTML5先行者学习网
TFhHTML5中文学习网 - HTML5先行者学习网

     4.JDK (Java Util Logging):logging.propertiesTFhHTML5中文学习网 - HTML5先行者学习网

Spring Boot官方推荐优先使用带有-spring的文件名作为你的日志配置(如使用logback-spring.xml,而不是logback.xml)TFhHTML5中文学习网 - HTML5先行者学习网

自定义输出格式TFhHTML5中文学习网 - HTML5先行者学习网

在Spring Boot中可以通过在application.properties配置如下参数控制输出格式:TFhHTML5中文学习网 - HTML5先行者学习网

     1.logging.pattern.console:定义输出到控制台的样式(不支持JDK Logger)TFhHTML5中文学习网 - HTML5先行者学习网
TFhHTML5中文学习网 - HTML5先行者学习网

     2.logging.pattern.fileTFhHTML5 중국어 학습 네트워크-HTML5 Pioneer Learning Network


TFhHTML5 중국어 학습 네트워크-HTML5 Pioneer 학습网

2.LEVEL: 옵션 TRACE, DEBUG, INFO, WARN, ERROR, FATAL, OFF
TFhHTML5 중국어 학습 네트워크-HTML5 선구자 학습 네트워크🎜
🎜TFhHTML5 중국어 학습 네트워크-HTML5 선구자 학습 네트워크🎜🎜 🎜 예: 🎜TFhHTML5 중국어 학습 네트워크 - HTML5 Pioneer 학습 네트워크 🎜🎜🎜logging.level.com.juzi=DEBUG com.juzi 패키지의 모든 클래스는 DEBUG 수준으로 출력됩니다. 🎜TFhHTML5 중국어 학습 네트워크 - HTML5 Pioneer Learning Network🎜
🎜TFhHTML5 중국어 학습 네트워크-HTML5 Pioneer Learning Network🎜🎜🎜logging.level.root=WARN 루트 로그는 WARN 레벨로 출력됩니다🎜TFhHTML5 중국어 학습 네트워크 -HTML5 Pioneer Learning Network 🎜🎜🎜사용자 정의 로그 구성🎜TFhHTML5 Chinese Learning Network - HTML5 Pioneer Learning Network🎜🎜🎜로그 서비스는 일반적으로 ApplicationContext가 생성되기 전에 초기화되므로 로그 서비스를 초기화할 필요가 없습니다. Spring의 구성 파일을 통해 제어됩니다. 🎜TFhHTML5 중국어 학습 네트워크 - HTML5 Pioneer Learning Network🎜
따라서 로그 제어 및 관리는 시스템 속성과 기존 Spring Boot 외부 구성 파일을 통해 여전히 잘 지원될 수 있습니다. 🎜TFhHTML5 중국어 학습 네트워크 - HTML5 Pioneer 학습 네트워크 🎜🎜🎜다양한 로그 시스템에 따라 다음 규칙에 따라 구성 파일 이름을 구성할 수 있으며 올바르게 로드됩니다. 🎜TFhHTML5 중국어 학습 네트워크 - HTML5 Pioneer 학습 네트워크 🎜 🎜🎜 1. 로그백: logback-spring.xml, logback-spring.groovy, logback.xml, logback.groovy 로그백 로그 구성🎜TFhHTML5 중국어 학습 네트워크-HTML5 선구자 학습 네트워크🎜
🎜TFhHTML5 중국어 학습 네트워크-HTML5 선구자 학습 네트워크🎜 🎜🎜 2.Log4j: log4j-spring.properties, log4j-spring.xml, log4j.properties, log4j.xml🎜TFhHTML5 중국어 학습 네트워크-HTML5 선구자 학습 네트워크🎜
🎜TFhHTML5 중국어 학습 네트워크- HTML5 선구자 학습 네트워크 🎜🎜🎜 3.Log4j2: log4j2-spring.xml, log4j2.xml🎜TFhHTML5 중국어 학습 네트워크-HTML5 선구자 학습 네트워크🎜
🎜TFhHTML5 중국어 학습 네트워크-HTML5 선구자 학습 네트워크🎜🎜🎜 4. JDK(Java Util Logging):logging.properties🎜TFhHTML5 중국어 학습 네트워크 - HTML5 Pioneer Learning Network🎜🎜🎜Spring Boot 공식 권장 사항은 로그 구성으로 -spring이 포함된 파일 이름을 사용하는 것(예: logback-spring 사용)에 우선 순위를 두는 것입니다. xml 대신 .xml)🎜TFhHTML5 중국어 학습 네트워크-HTML5 Pioneer Learning Network🎜🎜🎜맞춤형 출력 형식🎜TFhHTML5 중국어 학습 네트워크-HTML5 Pioneer Learning Network🎜🎜🎜Spring Boot에서는 다음을 수행할 수 있습니다. application .properties를 전달하고 다음 매개변수를 구성하여 출력 형식을 제어합니다. 🎜TFhHTML5 Chinese Learning Network - HTML5 Pioneer Learning Network🎜🎜🎜 1.logging.pattern.console: 콘솔에 대한 출력 스타일 정의(JDK Logger 지원 안 함) 🎜TFhHTML5 중국어 학습 네트워크 - HTML5 Pioneer Learning Network 🎜
🎜TFhHTML5 중국어 학습 네트워크 - HTML5 Pioneer Learning Network 🎜🎜🎜 2. logging.pattern .file: 출력을 파일 스타일로 정의합니다(JDK Logger는 지원되지 않음)🎜🎜🎜TFhHTML5 중국어 학습 네트워크 - HTML5 Pioneer Learning Network🎜🎜🎜

위 내용은 Spring Boot의 로그 관리에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.