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
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
- 로거는 로그 항목을 파일에 출력합니다.
logger.handlers=CONSOLE
- 로거는 AMQ Broker 관리 콘솔에 로그 항목을 출력합니다.
18.1. 로깅 수준 변경
모든 로거의 기본 로깅 수준은 INFO
이며 아래와 같이 루트 로거에 구성됩니다.
logger.level=INFO
다음과 같이 다른 모든 로거에 대해 로깅 수준을 개별적으로 구성할 수 있습니다.
logger.org.apache.activemq.artemis.core.server.level=INFO logger.org.apache.activemq.artemis.journal.level=INFO logger.org.apache.activemq.artemis.utils.level=INFO logger.org.apache.activemq.artemis.jms.level=INFO logger.org.apache.activemq.artemis.integration.bootstrap.level=INFO logger.org.apache.activemq.audit.base.level=INFO logger.org.apache.activemq.audit.message.level=INFO logger.org.apache.activemq.audit.resource.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
의 로깅 수준을 사용합니다.