JavaTM 2
Platform
Std.  Ed.  v1. 4.0

java.util.logging
클래스 LogManager

java.lang.Object 
  |
  +--java.util.logging.LogManager

public class LogManager
extends Object

Logger 와 로그 서비스의 공유 상태세트를 관리하기 위해서 사용되는 단일의 글로벌 LogManager 오브젝트가 있습니다.

이 LogManager 에는 다음의 기능이 있습니다.

글로벌 LogManager 오브젝트는 LogManager.getLogManager()를 사용해 취득할 수 있습니다. LogManager 오브젝트는 클래스를 초기화할 경우에 작성되어 그 후 변경을 할 수 없습니다.

LogManager 클래스는 기동시에 java.util.logging.manager 시스템 프로퍼티를 사용해 배치됩니다.

디폴트로, LogManager 는 JRE 디렉토리의 프로퍼티 파일 lib/logging.properties 로부터 그 초기설정을 읽어들입니다. 프로퍼티 파일을 편집하는 경우, 그 JRE 의 모든 사용에 대해서 디폴트의 로그 구성을 변경할 수 있습니다.

또, LogManager 는 초기 구성의 read를 보다 상세하게 제어할 수 있는 다음의 2 개의 시스템 프로퍼티 옵션을 사용합니다.

이 2 개의 프로퍼티는 Preferences API 에 의해, java 커멘드에 대한 커멘드행 프로퍼티의 정의로서 또는 JNI_CreateJavaVM 에게 건네지는 시스템 프로퍼티의 정의로서 설정할 수가 있습니다.

java.util.logging.config.class 프로퍼티가 설정되는 경우, 프로퍼티의 값은 클래스명으로서 다루어집니다. 지정된 클래스가 로드 되어 오브젝트의 인스턴스가 생성되어 그 오브젝트의 constructor 이 초기 구성의 read를 실시합니다. 이 오브젝트는 구성을 제어하기 위해서 다른 시스템 프로퍼티를 사용하는 경우가 있습니다. 대체 구성 클래스는 readConfiguration(InputStream) 를 사용해, LogManager 의 프로퍼티를 정의할 수 있습니다.

java.util.logging.config.class 프로퍼티가 설정되지 않는 경우, java.util.logging.config.file 시스템 프로퍼티를 사용해, java.util.Properties 형식에서 프로퍼티 파일을 지정할 수 있습니다. 초기 로그 구성은 이 파일로부터 읽힙니다.

이러한 프로퍼티의 모두 정의되지 않는 경우, 전술대로, LogManager 는 JRE 디렉토리의 프로퍼티 파일 lib/logging.properties 로부터 그 초기 구성을 읽어들입니다.

로가-와 Handler 의 프로퍼티는 핸들러나 로가-에 관해서 닷으로 단락지어진 이름으로부터 시작되는 이름을 가집니다.

글로벌 로그의 프로퍼티에는 다음의 것이 있습니다.

LogManager 의 구성시에 로드 된 모든 클래스는 시스템의 클래스 패스에 없으면 안 되는 것에 주의해 주세요. 이것에는 LogManager 클래스, 모든 config 클래스, 모든 handler 클래스가 포함됩니다.

Logger 는 닷으로 단락지어진 이름에 근거하는 네이밍 계층에 저장됩니다. 그 결과, 「a.b.c」는 「a.b」의 아이가 됩니다만, 「a.b1」 및 「a.b2」는 피어가 됩니다.

이름이 「. level」로 끝나는 모든 프로퍼티는 Logger 의 로그 레벨을 정의한다고 보여집니다. 따라서, 「foo.level」는 「foo」라고 불리는 로가-, 및 네이밍 계층에 있는 그 아이의 로그 레벨을 재귀적으로 정의합니다. 로그 레벨은 프로퍼티 파일로 정의된 순서로 적용됩니다. 따라서, 트리내의 아이 노드에 대한 레벨의 설정은 부모에 대한 설정의 후에 실시할 필요가 있습니다. 프로퍼티명 「. level」를 사용해, 트리의 루트의 레벨을 설정할 수 있습니다.

LogManager 오브젝트의 모든 메소드는 multi-thread에 대해서 안전합니다.

도입된 버젼:
1.4

생성자의 개요
protected LogManager ()
          protected constructor 입니다.
 
메소드의 개요
 boolean addLogger (Logger  logger)
          이름 첨부 로가-를 추가합니다.
 void addPropertyChangeListener (PropertyChangeListener  l)
          로그의 프로퍼티가 재독 보고 붐비어 되었을 때에 불려 가는 이벤트 청취자를 추가합니다.
 void checkAccess ()
          현재의 문맥이 로그 구성의 변경에 있어 신뢰할 수 있을지 어떨지를 조사합니다.
 Logger getLogger (String  name)
          이름 첨부 로가-를 검출하는 메소드입니다.
 Enumeration getLoggerNames ()
          기존의 로가-의 이름의 열거를 돌려줍니다.
static LogManager getLogManager ()
          글로벌 LogManager 를 돌려줍니다.
 String getProperty (String  name)
          로그의 프로퍼티의 값을 돌려줍니다.
 void readConfiguration ()
          로그의 프로퍼티를 재차 초기화해 로그 구성을 재차 읽어들입니다.
 void readConfiguration (InputStream  ins)
          로그의 프로퍼티를 재차 초기화해, 로그 구성이 지정된 스트림으로부터 재차 읽어들입니다.
 void removePropertyChangeListener (PropertyChangeListener  l)
          프로퍼티 변경 이벤트의 이벤트 청취자를 삭제합니다.
 void reset ()
          로그의 구성을 리셋트 합니다.
 
클래스 java.lang. Object 에서 상속받은 메소드
clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
 

생성자의 상세

LogManager

protected LogManager()
protected constructor 입니다. 이것은 J2EE 컨테이너 등 컨테이너의 어플리케이션이 오브젝트를 서브 클래스에 넣어지도록(듯이) 보호됩니다. 이것은 값이 LogManager.getLogManager 의 호출에 의해 취득되는 LogManager 오브젝트는 다만 1 kr 밖에 없다고 여겨지고 있으므로, public 형이 아닙니다.

메소드의 상세

getLogManager

public static LogManager  getLogManager()
글로벌 LogManager 를 돌려줍니다.


addPropertyChangeListener

public void addPropertyChangeListener(PropertyChangeListener  l)
                               throws SecurityException 
로그의 프로퍼티가 재독 보고 붐비어 되었을 때에 불려 가는 이벤트 청취자를 추가합니다.

파라미터:
l - 이벤트 청취자
예외:
SecurityException - 시큐러티 매니저가 존재하는 경우로, 호출원이 LoggingPermission("control")를 가지지 않는 경우

removePropertyChangeListener

public void removePropertyChangeListener(PropertyChangeListener  l)
                                  throws SecurityException 
프로퍼티 변경 이벤트의 이벤트 청취자를 삭제합니다.

지정된 청취자가 발견되지 않는 경우는 아무것도 실시하지 않고 복귀합니다.

파라미터:
l - 이벤트 청취자
예외:
SecurityException - 시큐러티 매니저가 존재하는 경우로, 호출원이 LoggingPermission("control")를 가지지 않는 경우

addLogger

public boolean addLogger(Logger  logger)
이름 첨부 로가-를 추가합니다. 이것은 같은 이름 로가-가 벌써 등록되어 있는 경우, 아무것도 하지 않고 false 를 돌려줍니다.

Logger 의 팩토리 메소드는 이 메소드를 호출해, 신규에 작성된 각 Logger 를 등록합니다.

어플리케이션은 Logger 오브젝트에 대한 스스로의 참조를 보관 유지해, 참조가 가베지 컬렉트되지 않게 할 필요가 있습니다. LogManager 는 약참조만을 보관 유지할 수가 있습니다.

파라미터:
logger - 새로운 로가-
반환값:
인수 로가-가 정상적으로 등록되었을 경우는 true, 그 이름 로가-가 벌써 존재하는 경우는 false
예외:
NullPointerException - 로가-의 이름이 null 의 경우

getLogger

public Logger  getLogger(String  name)
이름 첨부 로가-를 검출하는 메소드입니다.

신뢰할 수 없는 코드가 임의의 이름 로가-를 작성하는 경우가 있으므로, 이 메소드는 보안상 중요한 로깅용의 Logger 의 검출에는 사용하지 말아 주세요.

파라미터:
name - 로가-의 이름
반환값:
일치하는 로가-, 또는 발견되지 않는 경우는 null

getLoggerNames

public Enumeration  getLoggerNames()
기존의 로가-의 이름의 열거를 돌려줍니다.

주: Logger 는 새로운 클래스가 로드 되면(자) 동적으로 추가됩니다. 이 메소드는 현재 등록되어 있는 로가-에만 붙어 통지합니다.

반환값:
로가-이름의 캐릭터 라인의 열거

readConfiguration

public void readConfiguration()
                       throws IOException ,
                              SecurityException 
로그의 프로퍼티를 재차 초기화해 로그 구성을 재차 읽어들입니다.

구성 프로퍼티의 배치에는 기동시에 사용된 같은 규칙이 사용됩니다. 이 때문에, 통상 로그의 프로퍼티는 기동시에 사용된 같은 파일로부터 재독 보고 붐비어 됩니다.

새로운 구성 파일의 모든 로그 레벨의 정의는 타겟의 Logger 가 있는 경우는 Logger.setLevel()를 사용해 적용됩니다.

PropertyChangeEvent 는 프로퍼티가 읽히고 나서 방아쇠 됩니다.

예외:
SecurityException - 시큐러티 매니저가 존재하는 경우로, 호출원이 LoggingPermission("control")를 가지지 않는 경우
IOException - 구성을 읽어들일 때 입출력의 문제가 발생했을 경우

reset

public void reset()
           throws SecurityException 
로그의 구성을 리셋트 합니다.

모든 이름 첨부 로가-에 관해서는 리셋트 오퍼레이션은 모든 Handler 를 삭제해 닫고 나서, 루트 로가-이외를 레벨 null 로 설정합니다. 루트 로가-의 레벨은 Level.INFO 로 설정됩니다.

예외:
SecurityException - 시큐러티 매니저가 존재하는 경우로, 호출원이 LoggingPermission("control")를 가지지 않는 경우

readConfiguration

public void readConfiguration(InputStream  ins)
                       throws IOException ,
                              SecurityException 
로그의 프로퍼티를 재차 초기화해, 로그 구성이 지정된 스트림으로부터 재차 읽어들입니다. 이것은 java.util.Properties 형식이 아니면 안됩니다. PropertyChangeEvent 는 프로퍼티가 읽히고 나서 방아쇠 됩니다.

새로운 구성 파일의 모든 로그 레벨의 정의는 타겟의 Logger 가 있는 경우는 Logger.setLevel()를 사용해 적용됩니다.

파라미터:
ins - 프로퍼티를 읽어들이는 스트림
예외:
SecurityException - 시큐러티 매니저가 존재하는 경우로, 호출원이 LoggingPermission("control")를 가지지 않는 경우
IOException - 스트림으로부터 의 read에 문제가 있는 경우

getProperty

public String  getProperty(String  name)
로그의 프로퍼티의 값을 돌려줍니다.

파라미터:
name - 프로퍼티명
반환값:
프로퍼티의 값

checkAccess

public void checkAccess()
                 throws SecurityException 
현재의 문맥이 로그 구성의 변경에 있어 신뢰할 수 있을지 어떨지를 조사합니다. 이것에는 LoggingPermission("control")가 필요합니다.

이 체크에 실패했을 경우는 SecurityException 를 슬로우 합니다. 그렇지 않은 경우는 정상적으로 복귀합니다.

예외:
SecurityException - 시큐러티 매니저가 존재하는 경우로, 호출원이 LoggingPermission("control")를 가지지 않는 경우

JavaTM 2
Platform
Std.  Ed.  v1. 4.0

버그의 보고와 기능의 리퀘스트
이외의 API 레퍼런스 및 개발자용 문서에 대해서는 Java 2 SDK SE 개발자용 문서를 참조해 주세요. 개발자전용의 상세한 해설, 개념의 개요, 용어의 정의, 버그의 회피책, 및 코드 실례가 포함되어 있습니다.

Java, Java 2 D, 및 JDBC 는 미국 및 그 외의 나라에 있어서의 미국 Sun Microsystems, Inc. 의 상표 혹은 등록상표입니다.
Copyright 1993-2002 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.