Message Queue 공급자는 로깅 구성을 적절하게 설정한 경우 Message Queue 클라이언트가 연결 및 세션 이벤트를 기록할 수 있도록 해주는 로깅 수준 및 로깅 작업과 연관된 로깅 이름 공간 집합을 정의합니다.
Message Queue 클라이언트 런타임의 루트 로깅 이름 공간은 javax.jms로 정의됩니다. Message Queue 클라이언트 런타임의 모든 로거에서 이 이름을 부모 이름 공간으로 사용합니다.
Message Queue 클라이언트 런타임에 사용되는 로깅 수준은 java.util.logging.Level 클래스에 정의된 로깅 수준과 동일합니다. 이 클래스는 7개의 표준 로그 수준과 로깅 기능을 활성화 및 비활성화하는 데 사용할 수 있는 2가지 추가 설정을 정의합니다.
로깅을 비활성화합니다.
최고 우선 순위로 가장 높은 값입니다. 응용 프로그램에서 정의됩니다.
응용 프로그램에서 정의됩니다.
응용 프로그램에서 정의됩니다.
응용 프로그램에서 정의됩니다.
응용 프로그램에서 정의됩니다.
응용 프로그램에서 정의됩니다.
최저 우선 순위로 가장 낮은 값입니다. 응용 프로그램에서 정의됩니다.
모든 메시지 로깅을 활성화합니다.
일반적으로 Message Queue 클라이언트 런타임에서 발생한 예외 및 오류는 이름 공간이 javax.jms인 로거에서 기록합니다.
JVM에서 발생하여 클라이언트 런타임이 수신하는 예외(예: IOException)는 로깅 이름 공간이 javax.jms인 로거가 WARNING 수준에서 기록합니다.
클라이언트 런타임에서 발생하는 JMS 예외(예: IllegalStateException)는 로깅 이름 공간이 javax.jms인 로거가 FINER 수준에서 기록합니다.
JVM에서 발생하여 클라이언트 런타임이 수신하는 오류(예: OutOfMemoryError)는 로깅 이름 공간이 javax.jms인 로거가 SEVERE 수준에서 기록합니다.
다음에 나오는 표에는 JMS 연결 및 세션에 대한 이벤트를 기록하기 위해 설정해야 하는 로그 수준과 기록할 수 있는 이벤트가 나열되어 있습니다.
다음 표에서는 연결에 대한 로그 수준과 이벤트에 대해 설명합니다.
표 1–6 javax.jms.connection 이름 공간에 대한 로그 수준 및 이벤트
로그 수준 |
이벤트 |
---|---|
FINE |
연결 생성 |
FINE |
연결 시작 |
FINE |
연결 닫힘 |
FINE |
연결 끊어짐 |
FINE |
다시 연결됨 |
FINER |
setClientID와 같은 기타 연결 작업 |
FINEST |
메시지, 확인, Message Queue 작업 및 제어 메시지(예: 트랜잭션 완결) |
세션의 경우에는 다음 정보가 로그 레코드에 기록됩니다.
사용자에 전송된 메시지에 대한 각 로그 레코드에는 ConnectionID, SessionID 및 ConsumerID가 포함됩니다.
생성자에서 전송한 메시지에 대한 각 로그 레코드에는 ConnectionID, SessionID, ProducerID 및 대상 이름이 포함됩니다.
다음 표에서는 세션에 대한 로그 수준과 이벤트에 대해 설명합니다.
표 1–7 javax.jms.session 이름 공간에 대한 로그 수준 및 이벤트
로그 수준 |
이벤트 |
---|---|
FINE |
세션 생성 |
FINE |
세션 닫힘 |
FINE |
생성자 생성 |
FINE |
사용자 생성 |
FINE |
대상 생성 |
FINER |
세션 완결과 같은 기타 세션 작업 |
FINEST |
메시지 생성 및 사용(메시지 등록 정보 및 본문은 로그 레코드에 기록되지 받습니다.) |
기본적으로 출력 로그 수준은 응용 프로그램이 실행 중인 JRE에서 상속됩니다. 해당 수준을 확인하려면 JRE_DIRECTORY/lib/logging.properties 파일을 확인하십시오.
프로그래밍 방식이나 구성 파일을 사용하여 로깅을 구성할 수 있고 로깅의 범위를 제어할 수 있습니다. 다음 절에서는 이러한 작업에 대해 설명합니다.