Sun Java System Application Server Enterprise Edition 8.2 관리 설명서

15장 로깅 구성

이 장에서는 로깅을 구성하고 서버 로그를 보는 방법에 대해 간단하게 설명합니다. 이 장은 다음 내용으로 구성되어 있습니다.

로그 레코드

Application Server는 JSR 047에 지정된 Java 2 플랫폼 로깅 API를 사용합니다. 일반적으로 Application Server 로깅 메시지는 domain-dir/logs/server.log에 위치한 서버 로그에 기록됩니다.

domain-dir/logs 디렉토리에는 서버 로그와 두 가지 다른 종류의 로그가 있습니다. access 하위 디렉토리에는 HTTP 서비스 액세스 로그가 있고, tx 하위 디렉토리에는 트랜잭션 서비스 로그가 있습니다. 이 로그에 대한 자세한 내용은 관리 콘솔 온라인 도움말을 참조하십시오.

Application Server 구성 요소는 로깅 출력을 생성합니다. 응용 프로그램 구성 요소에서도 로깅 출력을 생성할 수 있습니다.

응용 프로그램 구성 요소에서 Apache Commons Logging Library를 사용하여 메시지를 로그할 수 있습니다. 그러나 더 좋은 로그 구성을 위해서는 플랫폼 표준 JSR 047 API를 권장합니다.

로그 레코드는 다음과 같은 일관된 형식을 따릅니다.

[#|yyyy-mm-ddThh:mm:ss.SSS-Z|Log Level|ProductName-Version|LoggerName|Key Value Pairs|Message|#]

예를 들면 다음과 같습니다.

[#|2004-10-21T13:25:53.852-0400|INFO|sun-appserver-e8.1|javax.enterprise.
system.core|_ThreadID=13;|CORE5004: Resource Deployed: 
[cr:jms/DurableConnectionFactory].|#]

이 예에서

이후 릴리스에서 로그 레코드 형식이 변경되거나 향상될 수 있습니다.

사용자 정의 로그 수준 설정

이 절에서는 java.util.logging 패키지를 사용하고 Application Server의 로깅 하위 시스템에 액세스하는 응용 프로그램에 대한 사용자 정의 로깅 수준을 구성하는 방법에 대해 설명합니다.

java.util.logging 패키지는 로거 인스턴스를 만들 수 있는 계층적 이름 공간을 제공합니다. 인스턴스의 로그 파일은 특정 로깅 레코드가 Application Server에 출력되는지 여부에 상관없이 로그 레코드의 로그 수준 및 지정된 로그 수준에 따라 달라집니다.

Application Server 로거 설정 구성은 Application Server의 내부 로깅에 대한 미세 제어를 가능하게 하는 20개 이상의 로깅 모듈을 제공합니다. 또한, 모듈 이름 및 모듈이 사용해야 하는 로깅 수준을 지정함으로써 사용자 정의 추가 로그 모듈을 만들 수 있는 옵션도 있습니다.

여기서 중요한 점은 로거는 정적 이름이며 상속은 제공되지 않는다는 점입니다. 따라서, 이름이 com.someorg.app인 사용자 정의 로거가 구성되고 응용 프로그램에서 com.someorg.app.submodule 로거를 조회하는 경우 com.someorg.app.submodule에는 com.someorg.app의 설정을 상속하는 로거가 제공되지 않습니다. 대신, com.someorg.app.submodule은 INFO 이상의 수준으로 기록하도록 설정된 기본 로거를 갖습니다.

응용 프로그램에서 로거 상속을 사용해야 하는 경우에는 Application Server를 실행하는 데 사용하는 Java 런타임의 logging.properties 파일을 편집하여 이 com.someorg.app.submodule을 구성할 수 있습니다. 예를 들어, 다음 항목을 logging.properties 파일에 추가하면 com.someorg.app.submodule은 만들어질 때와 동일한 FINE 수준을 상속합니다.

com.someorg.app.level = FINE

Java 로깅 API에 대한 자세한 내용은 다른 java.util.logging 클래스 및 http://java.sun.com/j2se/1.5.0/docs/api/java/util/logging/package-summary.html의 Java 설명서를 참조하십시오.

로거 이름 공간 계층

Application Server는 각 모듈에 대한 로거를 제공합니다. 다음 표는 모듈 이름과 각 로거에 대한 이름 공간이 관리 콘솔의 로그 수준 페이지에 표시되는 알파벳 순서로 나열합니다. 표의 마지막 세 모듈은 로그 수준 페이지에 표시되지 않습니다.

표 15–1 Application Server 로거 이름 공간

모듈 이름

이름 공간

관리 

javax.enterprise.system.tools.admin

클래스 로더 

javax.enterprise.system.core.classloading

CMP 

javax.enterprise.system.container.cmp

구성 

javax.enterprise.system.core.config

커넥터 

javax.enterprise.resource.resourceadapter

CORBA 

javax.enterprise.resource.corba

배포 

javax.enterprise.system.tools.deployment

EJB 컨테이너 

javax.enterprise.system.container.ejb

JavaMail 

javax.enterprise.resource.javamail

JAXR 

javax.enterprise.resource.webservices.registry

JAX-RPC 

javax.enterprise.resource.webservices.rpc

JDO 

javax.enterprise.resource.jdo

JMS 

javax.enterprise.resource.jms

JTA 

javax.enterprise.resource.jta

JTS 

javax.enterprise.system.core.transaction

MDB 컨테이너 

javax.enterprise.system.container.ejb.mdb

이름 지정 

javax.enterprise.system.core.naming

노드 에이전트(Enterprise Edition에만 해당) 

javax.ee.enterprise.system.nodeagent

루트 

javax.enterprise

SAAJ 

javax.enterprise.resource.webservices.saaj

보안 

javax.enterprise.system.core.security

서버 

javax.enterprise.system

동기화(Enterprise Edition에만 해당) 

javax.ee.enterprise.system.tools.synchronization

Util 

javax.enterprise.system.util

검증자 

javax.enterprise.system.tools.verifier

웹 컨테이너 

javax.enterprise.system.container.web

코어 

javax.enterprise.system.core

시스템 출력(System.out.println)

javax.enterprise.system.stream.out

시스템 오류(System.err.println)

javax.enterprise.system.stream.err