18장. 로깅
AMQ Broker는 JBoss Logging 프레임워크를 사용하여 로깅을 수행하고 < broker_instance_dir> /etc/logging.properties 구성 파일을 통해 구성할 수 있습니다. 이 구성 파일은 키-값 쌍 목록입니다.
아래와 같이 logging.properties 구성 파일의 로거 키에 포함하여 브로커 구성에서 로거를 지정합니다.
loggers=org.eclipse.jetty,org.jboss.logging,org.apache.activemq.artemis.core.server,org.apache.activemq.artemis.utils,org.apache.activemq.artemis.journal,org.apache.activemq.artemis.jms.server,org.apache.activemq.artemis.integration.bootstrap,org.apache.activemq.audit.base,org.apache.activemq.audit.message,org.apache.activemq.audit.resource
loggers=org.eclipse.jetty,org.jboss.logging,org.apache.activemq.artemis.core.server,org.apache.activemq.artemis.utils,org.apache.activemq.artemis.journal,org.apache.activemq.artemis.jms.server,org.apache.activemq.artemis.integration.bootstrap,org.apache.activemq.audit.base,org.apache.activemq.audit.message,org.apache.activemq.audit.resource
AMQ Broker에서 사용할 수 있는 로거는 다음 표에 표시되어 있습니다.
| 로거 | 설명 |
|---|---|
| org.jboss.logging | 루트 로거입니다. 다른 브로커 로거에서 처리되지 않은 호출을 기록합니다. |
| org.apache.activemq.artemis.core.server | 브로커 코어를 로그 |
| org.apache.activemq.artemis.utils | 로그 유틸리티 호출 |
| org.apache.activemq.artemis.journal | 로그 journal 호출 |
| org.apache.activemq.artemis.jms | 로그 JMS 호출 |
| org.apache.activemq.artemis.integration.bootstrap | 로그 부트스트랩 호출 |
| org.apache.activemq.audit.base | 모든 ScanSetting 오브젝트 방법에 대한 액세스를 기록합니다. |
| org.apache.activemq.audit.message | 메시지 프로덕션, 사용 및 메시지 검색과 같은 메시지 작업을 기록합니다. |
| org.apache.activemq.audit.resource | 관리 콘솔 또는 AMQ Broker 관리 콘솔에서 인증 이벤트, 브로커 리소스 생성 또는 삭제, 관리 콘솔에서 메시지 검색 |
다음과 같이 logger.handlers 키에 구성된 두 가지 기본 로깅 핸들러도 있습니다.
logger.handlers=FILE,CONSOLE
logger.handlers=FILE,CONSOLE
logger.handlers=FILE- 로거는 로그 항목을 파일에 출력합니다.
logger.handlers=CONSOLE- 로거는 AMQ Broker 관리 콘솔에 로그 항목을 출력합니다.
18.1. 로깅 수준 변경 링크 복사링크가 클립보드에 복사되었습니다!
모든 로거의 기본 로깅 수준은 INFO 이며 아래와 같이 루트 로거에 구성됩니다.
logger.level=INFO
logger.level=INFO
다음과 같이 다른 모든 로거에 대해 로깅 수준을 개별적으로 구성할 수 있습니다.
사용 가능한 로깅 수준은 다음 표에 설명되어 있습니다. 로깅 수준은 가장 낮은 세부 사항부터 가장 낮은 순서로 나열됩니다.
| level | 설명 |
|---|---|
| FATAL | 중요한 서비스 실패를 나타내는 이벤트에 대해 FATAL 로깅 수준을 사용합니다. 서비스가 FATAL 오류를 발행하면 모든 종류의 요청을 실행할 수 없습니다. |
| ERROR | 요청 중단 또는 요청을 서비스하는 기능을 나타내는 이벤트에 대해 ERROR 로깅 수준을 사용합니다. 서비스에는 이 수준의 오류가 있을 때 요청을 계속 서비스할 수 있는 일부 용량이 있어야 합니다. |
| WARN | 중요하지 않은 서비스 오류를 나타낼 수 있는 이벤트에 WARN 로깅 수준을 사용합니다. 재시작 가능한 오류 또는 요청의 작은 중단으로 인해 이 설명이 충족됩니다. WARN과 ERROR의 차이점은 애플리케이션 개발자가 만드는 것입니다. 이 구분을 수행하는 간단한 기준은 오류에 사용자가 기술 지원을 요청해야 하는지의 여부입니다. 오류에 기술 지원이 필요한 경우 로깅 수준을 ERROR로 설정합니다. 또는 수준을 WARN으로 설정합니다. |
| INFO | 서비스 라이프사이클 이벤트 및 기타 중요한 관련 정보에 INFO 로깅 수준을 사용합니다. 지정된 서비스 카테고리에 대한 INFO-level 메시지는 서비스 상태를 명확하게 표시해야 합니다. |
| DEBUG | 라이프사이클 이벤트에 대한 추가 정보를 전달하는 로그 메시지에 DEBUG 로깅 수준을 사용합니다. 개발자 지향 정보 또는 기술 지원에 필요한 심층적인 정보에는 이 로깅 수준을 사용합니다. DEBUG 로깅 수준을 활성화하면 서버 요청 수에 비례하여 JBoss 서버 로그가 증가하지 않아야 합니다. 지정된 서비스 카테고리에 대한 DEBUG 및 INFO 수준 메시지에서는 서비스가 어떤 상태에 있는지와 사용 중인 브로커 리소스(포트, 인터페이스, 로그 파일 등)를 명확하게 표시해야 합니다. |
| TRACE |
요청 활동과 직접 연결된 로그 메시지에 TRACE 로깅 수준을 사용합니다. 로거 카테고리 우선 순위 임계값에 메시지가 렌더링됨을 나타내는 경우가 아니면 이러한 메시지는 로거에 제출해서는 안 됩니다. |
-
INFO는logger.org.apache.activemq.audit.base,logger.org.apache.activemq.audit.message,logger.org.apache.activemq.audit.resource감사 로거에 사용할 수 있는 유일한 로깅 수준입니다. -
루트 로거에 지정된 로깅 수준은 다른 로거에 대한 보다 자세한 로깅 수준이 지정된 경우에도 모든 로거에 대해 가장 자세한 로깅 수준을 결정합니다. 예를 들어
org.apache.activemq.artemis.utils에서DEBUG(루트 로거)의 로깅이 지정된 반면org.jboss.logging는 지정된 로깅 수준이WARN이라고 가정합니다. 이 경우 두 로거 모두WARN의 로깅 수준을 사용합니다.