18장. 로깅
AMQ Broker는 JBoss Logging 프레임워크를 사용하여 로깅을 수행하고 BROKER_INSTANCE_DIR/etc/logging.properties
구성 파일을 통해 구성할 수 있습니다. 이 구성 파일은 키-값 쌍 목록입니다.
아래에 표시된 것처럼 logging.properties
구성 파일의 loggers
키에 포함하여 브로커 구성에 로거를 지정합니다.
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에서 사용할 수 있는 로거는 다음 표에 표시되어 있습니다.
logger | 설명 |
---|---|
org.jboss.logging | 루트 로거입니다. 다른 브로커 로거에서 처리되지 않은 호출을 기록합니다. |
org.apache.activemq.artemis.core.server | 브로커 코어를 기록합니다. |
org.apache.activemq.artemis.utils | 유틸리티 호출을 기록합니다. |
org.apache.activemq.artemis.journal | 로그 저널 호출 |
org.apache.activemq.artemis.jms | JMS 호출을 기록합니다. |
org.apache.activemq.artemis.integration.bootstrap | 부트스트랩 호출을 로그 |
org.apache.activemq.audit.base | 모든 JMX 오브젝트 메서드에 대한 액세스 로그 |
org.apache.activemq.audit.message | 메시지 검색, 프로덕션, 사용 및 검색과 같은 메시지 작업 로그 |
org.apache.activemq.audit.resource | JMX 또는 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-level 메시지는 서비스가 어떤 상태에 있는지, 사용 중인 브로커 리소스(포트, 인터페이스, 로그 파일 등)를 명확하게 표시해야 합니다. |
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
의 로깅 수준을 사용합니다.