Spring Boot의 로그 관리에 대한 자세한 설명
서문
Spring Boot는 모든 내부 로그에서 Commons Logging을 사용하지만 기본 구성에서는 일반적으로 사용되는 로그도 지원합니다.
예: Java Util Logging, Log4J, Log4J2 및 Logback. 각 로거는 콘솔이나 파일을 사용하여 로그 내용을 출력하도록 구성할 수 있습니다.
로그 출력 형식
2016-08-19 10:22:04.233 INFO 7368 --- [ main] com.juzi.AsyncTest : Started AsyncTest in 10.084 seconds (JVM running for 12.545)
출력 콘텐츠 요소는 다음과 같습니다:
시간 및 날짜 - 밀리초까지 정확함
-
로그 수준 - ERROR, WARN, INFO, DEBUG 또는 TRACE
프로세스 ID
구분 기호 ― ― 실제 로그의 시작을 식별합니다.
스레드 이름 ― 대괄호로 묶습니다(콘솔 출력이 잘릴 수 있음)
로거 이름 ― 일반적으로 로그의 클래스 이름을 사용합니다. 소스 코드
로그 내용
콘솔 출력
Spring Boot에서는 ERROR, WARN 및 INFO 레벨 로그가 기본적으로 콘솔에 출력되도록 구성됩니다. .
두 가지 방법으로 DEBUG 레벨로 전환할 수 있습니다:
1 . 다음과 같은 명령을 실행한 후 디버그 플래그를 추가합니다: $ java -jar myapp.jar debug
$ java -jar myapp.jar debug
2.在application.properties
中配置debug=true
,该属性置为true的时候,核心Logger(包含嵌入式容器、hibernate、spring)会输出更多内容,但是你自己应用的日志并不会输出为DEBUG级别。
多彩输出
如果你的终端支持ANSI,设置彩色输出会让日志更具可读性。通过在application.properties
中设置spring.output.ansi.enabled
参数来支持。
1.NEVER:禁用ANSI-colored输出(默认项)
2.DETECT:会检查终端是否支持ANSI,是的话就采用彩色输出(推荐项)
3.ALWAYS:总是使用ANSI-colored格式输出,若终端不支持的时候,会有很多干扰信息,不推荐使用
文件输出
Spring Boot默认配置只会输出到控制台,并不会记录到文件中,但是我们通常生产环境使用时都需要以文件方式记录。
若要增加文件输出,需要在application.properties
中配置logging.file
或logging.path
属性。
1.logging.file
,设置文件,可以是绝对路径,也可以是相对路径。如:logging.file=my.log
2.logging.path
,设置目录,会在该目录下创建spring.log
文件,并写入日志内容,如:logging.path=/var/log
日志文件会在10Mb大小的时候被截断,产生新的日志文件,默认级别为:ERROR、WARN、INFO *
级别控制
在Spring Boot中只需要在application.properties
中进行配置完成日志记录的级别控制。
配置格式:logging.level.*=LEVEL
TFhHTML5 Chinese Learning Network-HTML5 Pioneer Learning Network
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名
2.LEVEL:选项TRACE, DEBUG, INFO, WARN, ERROR, FATAL, OFF
举例:
logging.level.com.juzi=DEBUG com.juzi
包下所有class以DEBUG级别输出
logging.level.root=WARN
root日志以WARN级别输出
自定义日志配置
由于日志服务一般都在ApplicationContext创建前就初始化了,它并不是必须通过Spring的配置文件控制。
因此通过系统属性和传统的Spring Boot外部配置文件依然可以很好的支持日志控制和管理。
根据不同的日志系统,你可以按如下规则组织配置文件名,就能被正确加载:
1.Logback:logback-spring.xml, logback-spring.groovy, logback.xml, logback.groovy logback日志配置
2.Log4j:log4j-spring.properties, log4j-spring.xml, log4j.properties, log4j.xml
3.Log4j2:log4j2-spring.xml, log4j2.xml
4.JDK (Java Util Logging):logging.properties
Spring Boot官方推荐优先使用带有-spring的文件名作为你的日志配置(如使用logback-spring.xml,而不是logback.xml)
自定义输出格式
在Spring Boot中可以通过在application.properties
配置如下参数控制输出格式:
1.logging.pattern.console
:定义输出到控制台的样式(不支持JDK Logger)
2.logging.pattern.file
TFhHTML5 중국어 학습 네트워크-HTML5 Pioneer Learning Network
TFhHTML5 중국어 학습 네트워크-HTML5 Pioneer 학습网
2.LEVEL: 옵션 TRACE, DEBUG, INFO, WARN, ERROR, FATAL, OFF🎜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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제










![Windows ISO 파일이 너무 큼 BootCamp 오류 [수정됨]](https://img.php.cn/upload/article/000/887/227/170831702395455.jpg?x-oss-process=image/resize,m_fill,h_207,w_330)
Mac 컴퓨터에서 BootCampAssistant를 사용할 때 "Windows ISO 파일이 너무 큽니다"라는 오류 메시지가 표시되는 경우 ISO 파일 크기가 BootCampAssistant에서 지원하는 제한을 초과했기 때문일 수 있습니다. 이 문제에 대한 해결책은 다른 도구를 사용하여 ISO 파일 크기를 압축하여 BootCamp Assistant에서 처리할 수 있도록 하는 것입니다. BootCampAssistant는 Mac 컴퓨터에 Windows 운영 체제를 설치하고 실행하기 위해 Apple에서 제공하는 편리한 도구입니다. 사용자가 듀얼 부팅 시스템을 설정하여 시작 시 MacOS 또는 Wind를 사용하도록 쉽게 선택할 수 있습니다.

2023년에는 AI 기술이 화두가 되면서 다양한 산업, 특히 프로그래밍 분야에 큰 영향을 미치고 있다. 사람들은 AI 기술의 중요성을 점점 더 인식하고 있으며 Spring 커뮤니티도 예외는 아닙니다. GenAI(일반 인공 지능) 기술이 지속적으로 발전함에 따라 AI 기능을 갖춘 애플리케이션 생성을 단순화하는 것이 중요하고 시급해졌습니다. 이러한 배경에서 AI 기능 애플리케이션 개발 프로세스를 단순화하고 간단하고 직관적이며 불필요한 복잡성을 피하는 것을 목표로 하는 "SpringAI"가 등장했습니다. 'SpringAI'를 통해 개발자는 AI 기능이 포함된 애플리케이션을 더욱 쉽게 구축할 수 있어 사용 및 운영이 더욱 쉬워진다.

업계 리더인 Spring+AI는 강력하고 유연한 API와 고급 기능을 통해 다양한 산업에 선도적인 솔루션을 제공합니다. 이 주제에서는 다양한 분야의 Spring+AI 적용 사례를 살펴보겠습니다. 각 사례에서는 Spring+AI가 어떻게 특정 요구 사항을 충족하고 목표를 달성하며 이러한 LESSONSLEARNED를 더 넓은 범위의 애플리케이션으로 확장하는지 보여줍니다. 이 주제가 여러분이 Spring+AI의 무한한 가능성을 더 깊이 이해하고 활용하는 데 영감을 줄 수 있기를 바랍니다. Spring 프레임워크는 소프트웨어 개발 분야에서 20년 이상의 역사를 가지고 있으며, Spring Boot 1.0 버전이 출시된 지 10년이 되었습니다. 이제 봄이 왔다는 것에 대해 누구도 이의를 제기할 수 없습니다.

Spring 프로그래밍 방식 트랜잭션을 구현하는 방법: 1. TransactionCallback 및 TransactionCallbackWithoutResult를 사용합니다. 3. Transactional 주석을 사용합니다. 4. @Transactional과 함께 TransactionTemplate을 사용합니다.

Spring에서 트랜잭션 격리 수준을 설정하는 방법: 1. @Transactional 주석을 사용합니다. 2. Spring 구성 파일에서 설정합니다. 3. PlatformTransactionManager를 사용합니다. 4. Java 구성 클래스에서 설정합니다. 자세한 소개: 1. @Transactional 주석을 사용하고, 트랜잭션 관리가 필요한 클래스나 메소드에 @Transactional 주석을 추가하고, 속성에서 격리 수준을 설정합니다. 2. Spring 구성 파일에서 등.

win10 시스템을 사용할 때 마우스를 사용하여 바탕화면을 마우스 오른쪽 버튼으로 클릭하거나 메뉴를 마우스 오른쪽 버튼으로 클릭하면 메뉴가 열리지 않고 컴퓨터를 정상적으로 사용할 수 없는 것을 발견했습니다. 이때 복원이 필요합니다. 문제를 해결하기 위한 시스템. Win10 마우스 오른쪽 버튼 클릭 메뉴 관리를 열 수 없습니다. 1. 먼저 제어판을 열고 클릭합니다. 2. 그런 다음 보안 및 유지 관리 아래를 클릭합니다. 3. 시스템을 복원하려면 오른쪽의 를 클릭하세요. 4. 그래도 사용할 수 없다면 마우스 자체에 문제가 있는지 확인해 보세요. 5. 마우스에 문제가 없다고 확신하면 +를 누르고 Enter를 누르세요. 6. 실행이 완료되면 컴퓨터를 다시 시작합니다.

Spring은 Java 개발을 단순화하고 향상시키기 위해 많은 주석을 제공하는 오픈 소스 프레임워크입니다. 이 기사에서는 일반적으로 사용되는 Spring 주석을 자세히 설명하고 구체적인 코드 예제를 제공합니다. @Autowired: Autowired @Autowired 주석은 Spring 컨테이너에 Bean을 자동으로 연결하는 데 사용할 수 있습니다. 종속성이 필요한 @Autowired 주석을 사용하면 Spring은 컨테이너에서 일치하는 Bean을 찾아 자동으로 주입합니다. 샘플 코드는 다음과 같습니다. @Auto

디스크 관리 분할 방법 컴퓨터 기술의 지속적인 발전으로 인해 디스크 관리는 컴퓨터 사용에 없어서는 안 될 부분이 되었습니다. 디스크 관리의 중요한 부분인 디스크 파티셔닝은 하드 디스크를 여러 부분으로 나눌 수 있어 데이터를 보다 유연하게 저장하고 관리할 수 있습니다. 그렇다면 디스크 관리를 분할하는 방법은 무엇입니까? 아래에서 자세한 소개를 드리겠습니다. 우선, 디스크를 분할하는 방법은 하나만 있는 것이 아니라는 점을 분명히 해야 합니다. 다양한 필요와 목적에 따라 적절한 디스크 분할 방법을 유연하게 선택할 수 있습니다. 자주
