JavaTM Platform
Standard Ed. 6

java.util.logging
클래스 Logger

java.lang.Object 
  상위를 확장 java.util.logging.Logger


public class Logger
extends Object

Logger 객체는, 특정의 시스템 컴퍼넌트나 어플리케이션 컴퍼넌트의 메세지를 로깅 하기 위해서 사용됩니다. 로거의 명명은 일반적으로, 닷으로 단락지어진 계층화 된 이름 공간을 사용해 행해집니다. 로거의 이름은 어떠한 캐릭터 라인에서도 괜찮습니다가, 일반적으로은, java.net 나 javax.swing 등, 로깅 대상의 컴퍼넌트의 패키지명이나 클래스명에 근거한 이름에 해야 합니다. 게다가 Logger 의 이름 공간에 포함되지 않는 「익명」의 Logger 를 작성하는 일도 가능해지고 있습니다.  

Logger 객체를 가져오려면 , getLogger 팩토리 메소드의 어느쪽이든을 호출합니다. 이것들은, 새로운 Logger 를 작성하는지, 기존이 적합한 Logger 를 돌려줍니다.  

로그 메세지는 등록된 Handler 객체에 전송 됩니다. 이 객체는, 콘솔, 파일, OS 로그 등 다양한 출력 먼저 메세지를 전송 할 수 있습니다.  

각 Logger 는, Logger 의 이름 공간에 있는 기존의 상위 클래스에 가장 가까운 「부모」Logger 를 추적합니다.  

각 Logger 에는 「Level」를 관련지을 수 있습니다. 이것은, 이 로거의 처리 대상이 되는 최소의 Level 를 나타냅니다. Logger 의 레벨이 null 로 설정되었을 경우, 그 실효 레벨은 그 부모로부터 상속됩니다. 그리고, 그 부모도 또 그 부모로부터, 재귀적으로 레벨을 취득할 가능성이 있습니다. 같은 일이 트리의 윗쪽으로 향해 반복해집니다.  

로그 레벨은, LogManager 클래스에서 설명하고 있도록(듯이), 로깅 구성 파일의 프로퍼티에 근거해 구성할 수 있습니다. 다만 그것은, Logger.setLevel 메소드를 호출해 동적으로 변경할 수도 있습니다. 어느 로거의 레벨이 변경되었을 경우, 그 변경은 그 자식(child) 로거에도 영향을 줍니다. 왜냐하면, 레벨 null 를 가지는 자식(child) 로거는 모두, 그 부모로부터 실효 레벨을 상속하기 때문입니다.  

로깅 호출을 할 때마다, Logger 는 우선, 그 로거의 실효 로그 레벨에 근거하는 요구 레벨 (SEVERE 나 FINE 등)의 저비용인 체크를 실행합니다. 요구 레벨이 로그 레벨보다 낮은 경우, 로깅 호출은 곧바로 복귀합니다.  

이 초기 테스트 (저비용의 테스트)에 패스하면(자), Logger 는, LogRecord 를 할당해 로깅멧세이지를 기술합니다. 다음에, 그것은, Filter 가 존재하는 경우에는 그것을 호출해, 그 레코드를 발행해야할 것인가 제발에 임해서, 보다 자세한 체크를 실시합니다. 거기에 패스했을 경우, 그것은, 그 LogRecord 를 자신의 출력 Handler 에 발행합니다. 디폴트에서는, 로거는 부모의 Handler 에도 발행합니다. 이것이, 트리의 윗쪽으로 향해 재귀적으로 반복해집니다.  

각 Logger 에는, 관련지을 수 있었던 ResourceBundle 명이 있습니다. 이 지정된 번들은, 로깅멧세이지를 로컬라이즈 하기 위해서 사용됩니다. 독자적인 ResourceBundle 명을 가지지 않는 Logger 는, ResourceBundle 명을 부모로부터 상속합니다. 이것이, 트리의 윗쪽으로 향해 재귀적으로 반복해집니다.  

로거의 출력 메소드의 대부분은, 「msg」인수를 취합니다. 이 msg 인수에는, 생의값, 로컬라이제이션키의 어느쪽이든을 지정할 수 있습니다. 로거가 로컬라이제이션 ResourceBundle 를 소유 (또는 상속)하고 있어, 그 ResourceBundle 에 msg 캐릭터 라인의 매핑이 포함되어 있는 경우, 포맷 처리시에 msg 캐릭터 라인이 로컬라이즈 된 값으로 치환됩니다. 그 이외의 경우는, 원의 msg 캐릭터 라인이 사용됩니다. 포매터는 일반적으로, java.text.MessageFormat 스타일의 포맷을 사용해 파라미터의 포맷 처리를 실시합니다. 이 때문에, 예를 들어, 포맷 캐릭터 라인 「{0} {1}」은, 2 개의 파라미터를 캐릭터 라인으로서 포맷 합니다.  

ResourceBundle 명을 ResourceBundle 에 매핑 할 때, Logger 는 우선, Thread 의 ContextClassLoader 의 사용을 시도하는 그것이 null 의 경우, 그것은 대신에 SystemClassLoader 를 시도합니다. ContextClassLoader, SystemClassLoader 의 어느쪽이든들도 ResourceBundle 가 발견되지 않는 경우, Logger 는, 초기 구현의 일시적인 이행용 기능으로서 한층 더 호출해 스택을 검색해, 연속해 호출을 실시하고 있는 ClassLoader 를 사용해 ResourceBundle 를 검색을 시도합니다. (이 호출 스택 검색은, 컨테이너가 ContextClassLoader 를 사용하는 방법으로 이행할 수 있도록(듯이)하기 위한의 것이어, 장래의 버젼에서는 삭제될 가능성이 있다. )  

로컬라이제이션을 포함한 포맷 처리는, 일반적으로 Formatter 를 호출하는 출력 Handler 를 담당합니다.  

포맷 처리는 동기적으로 실시할 필요가 없는 것에 주의해 주세요. 그것은, LogRecord 가 외부 sink에 실제로 기입해질 때까지 지연 할 수 있습니다.  

로깅메소드는, 다음의 5 개의 주된 카테고리로 분류됩니다.

명시적인 소스명과 메소드명을 취하지 않는 메소드의 경우, Logging 시스템는 「최선의 노력」을 지불해, 어느 클래스와 메소드가 그 로깅메소드를 호출했는지를 판정합니다. 다만, 자동적으로 추측된 이 정보는 개략에 지나지 않는 (그 뿐만 아니라 완전한 실수일 가능성마저 있다) 것을 이해해 둘 필요가 있습니다. 가상 머신은, JIT 처리 시에 대규모 최적화를 실시하는 것이 허락되고 있어 스택 프레임을 모두 삭제할 가능성이 있기 (위해)때문에, 호출 클래스와 메소드를 확실히 검출하는 것은 불가능이 되고 있습니다.  

Logger 의 모든 메소드는, multi-thread 세이프입니다.  

서브 클래스화에 관한 정보: LogManager 클래스가 이름 첨부 Logger 의 독자 구현을 이름 공간내의 임의의 위치에 제공할 가능성이 있는 것에 주의해 주세요. 따라서, Logger 의 모든 서브 클래스는, (그것들이 다른 새로운 LogManager 클래스와 함께 구현되었으므로 없는 한), 잊지 않고 LogManager 클래스로부터 Logger 인스턴스를 취득해, 그 인스턴스에 「isLoggable」나 「log(LogRecord)」등의 오퍼레이션을 위양 해야 합니다. 모든 로깅 출력을 횡령하기 위해서 서브 클래스가 실시할 필요가 있는 것은, log(LogRecord) 메소드의 오버라이드(override) 뿐인 것에 주의해 주세요. 다른 로깅메소드는 모두, 이 log(LogRecord) 메소드에의 호출로서 구현되고 있습니다.

도입된 버젼:
1.4

필드의 개요
static Logger global
          추천 되고 있지 않습니다.  이 필드의 초기화시에 데드락이 발생할 가능성이 있습니다. 이 필드는 Logger 클래스 초기화에 의해 초기화됩니다만, 그것에 의해, LogManager 클래스 초기화와의 사이에 데드락이 발생할 가능성이 있습니다. 그러한 경우, 2 개의 클래스 초기화는 한편이 완료할 때까지 대기합니다. JDK version 1.6 이후에 글로벌 로거객체를 취득하기 위한 추천의 방법은,Logger.getLogger(Logger.GLOBAL_LOGGER_NAME) 를 호출하는 것입니다.
static String GLOBAL_LOGGER_NAME
          GLOBAL_LOGGER_NAME 는, 글로벌 로거의 이름입니다.
 
생성자 의 개요
protected Logger (String  name, String  resourceBundleName)
          이름 첨부 하부조직의 로거를 구축하는 protected 메소드입니다.
 
메소드의 개요
 void addHandler (Handler  handler)
          로그 Handler 를 추가해 로그 메세지를 받아들입니다.
 void config (String  msg)
          CONFIG 메세지의 로그를 취합니다.
 void entering (String  sourceClass, String  sourceMethod)
          메소드 엔트리의 로그를 취합니다.
 void entering (String  sourceClass, String  sourceMethod, Object  param1)
          1 개의 파라미터를 가지는 메소드 엔트리의 로그를 취합니다.
 void entering (String  sourceClass, String  sourceMethod, Object [] params)
          파라미터의 배열을 가지는 메소드 엔트리의 로그를 취합니다.
 void exiting (String  sourceClass, String  sourceMethod)
          메소드 복귀의 로그를 취합니다.
 void exiting (String  sourceClass, String  sourceMethod, Object  result)
          결과 객체를 가지는 메소드 복귀의 로그를 취합니다.
 void fine (String  msg)
          FINE 메세지의 로그를 취합니다.
 void finer (String  msg)
          FINER 메세지의 로그를 취합니다.
 void finest (String  msg)
          FINEST 메세지의 로그를 취합니다.
static Logger getAnonymousLogger ()
          익명 Logger 를 작성합니다.
static Logger getAnonymousLogger (String  resourceBundleName)
          익명 Logger 를 작성합니다.
 Filter getFilter ()
          이 Logger 의 현재의 필터를 돌려줍니다.
 Handler [] getHandlers ()
          이 로거에 관련한 Handler 를 돌려줍니다.
 Level getLevel ()
          이 Logger 로 지정된 로그 Level 를 가져옵니다.
static Logger getLogger (String  name)
          지정된 하부조직의 로거를 검출 또는 작성합니다.
static Logger getLogger (String  name, String  resourceBundleName)
          지정된 하부조직의 로거를 검출 또는 작성합니다.
 String getName ()
          이 로거의 이름을 돌려줍니다.
 Logger getParent ()
          이 로거의 부모를 돌려줍니다.
 ResourceBundle getResourceBundle ()
          현재의 디폴트 로케일에 대한 이 로거의 로컬라이제이션리소스반돌을 가져옵니다.
 String getResourceBundleName ()
          이 로거의 로컬라이제이션리소스반돌의 이름을 가져옵니다.
 boolean getUseParentHandlers ()
          이 로거가 출력을 그 친로거에 송신하고 있을지 어떨지를 검출합니다.
 void info (String  msg)
          INFO 메세지의 로그를 취합니다.
 boolean isLoggable (Level  level)
          지정된 레벨의 메세지가 이 로거에 의해 실제로 로깅 될지 어떨지를 체크합니다.
 void log (Level  level, String  msg)
          인수가 없는 메세지의 로그를 취합니다.
 void log (Level  level, String  msg, Object  param1)
          1 개의 객체의 파라미터를 가지는 메세지의 로그를 취합니다.
 void log (Level  level, String  msg, Object [] params)
          객체의 인수의 배열을 가지는 메세지의 로그를 취합니다.
 void log (Level  level, String  msg, Throwable  thrown)
          관련하는 Throwable 정보를 가지는 메세지의 로그를 취합니다.
 void log (LogRecord  record)
          LogRecord 의 로그를 취합니다.
 void logp (Level  level, String  sourceClass, String  sourceMethod, String  msg)
          소스 클래스와 메소드를 지정하는, 인수가 없는 메세지의 로그를 취합니다.
 void logp (Level  level, String  sourceClass, String  sourceMethod, String  msg, Object  param1)
          소스 클래스와 메소드를 지정해, 로그 메세지에 대해서 단일의 객체 파라미터를 가지는 메세지의 로그를 취합니다.
 void logp (Level  level, String  sourceClass, String  sourceMethod, String  msg, Object [] params)
          소스 클래스와 메소드를 지정하는, 객체의 인수의 배열을 가지는 메세지의 로그를 취합니다.
 void logp (Level  level, String  sourceClass, String  sourceMethod, String  msg, Throwable  thrown)
          소스 클래스와 메소드를 지정해, 관련하는 Throwable 정보를 가지는 메세지의 로그를 취합니다.
 void logrb (Level  level, String  sourceClass, String  sourceMethod, String  bundleName, String  msg)
          소스 클래스, 메소드, 및 자원 번들명을 지정해, 인수가 없는 메세지의 로그를 취합니다.
 void logrb (Level  level, String  sourceClass, String  sourceMethod, String  bundleName, String  msg, Object  param1)
          소스 클래스, 메소드, 및 자원 번들명을 지정해, 로그 메세지에 대해서 단일의 객체 파라미터를 가지는 메세지의 로그를 취합니다.
 void logrb (Level  level, String  sourceClass, String  sourceMethod, String  bundleName, String  msg, Object [] params)
          소스 클래스, 메소드, 및 자원 번들명을 지정해, 객체의 인수의 배열을 가지는 메세지의 로그를 취합니다.
 void logrb (Level  level, String  sourceClass, String  sourceMethod, String  bundleName, String  msg, Throwable  thrown)
          소스 클래스, 메소드, 및 자원 번들명을 지정해, 관련하는 Throwable 정보를 가지는 메세지의 로그를 취합니다.
 void removeHandler (Handler  handler)
          로그 Handler 를 삭제합니다.
 void setFilter (Filter  newFilter)
          필터를 설정해 이 Logger 의 출력을 제어합니다.
 void setLevel (Level  newLevel)
          이 로거가 어느 메세지 레벨을 로깅 하는지를 지정하는 로그 레벨을 설정합니다.
 void setParent (Logger  parent)
          이 로거의 부모를 설정합니다.
 void setUseParentHandlers (boolean useParentHandlers)
          이 로거가 출력을 그 친로거에 송신해야할 것인가 제발을 지정합니다.
 void severe (String  msg)
          SEVERE 메세지의 로그를 취합니다.
 void throwing (String  sourceClass, String  sourceMethod, Throwable  thrown)
          예외를 throw 하는 로그를 취합니다.
 void warning (String  msg)
          WARNING 메세지의 로그를 취합니다.
 
클래스 java.lang. Object 로부터 상속된 메소드
clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
 

필드의 상세

GLOBAL_LOGGER_NAME

public static final String  GLOBAL_LOGGER_NAME
GLOBAL_LOGGER_NAME 는, 글로벌 로거의 이름입니다. 이 이름은, 로깅팍케이지를 가끔 사용하는 개발자의 편의를 꾀하기 위해서(때문에) 제공되고 있습니다. 제품등으로 로깅팍케이지를 본격적으로 사용하는 개발자는, 적절한 이름을 가지는 독자적인 Logger 객체를 작성해, 그것을 사용해야 합니다. 그러면, 적절한 Logger 단위의 입도로 로깅을 제어할 수가 있습니다.  

글로벌 로거객체를 취득하기 위한 추천의 방법은,Logger.getLogger(Logger.GLOBAL_LOGGER_NAME) 를 호출하는 것입니다.

도입된 버젼:
1.6
관련 항목:
정수 필드치

global

@Deprecated 
public static final Logger  global
추천 되고 있지 않습니다.  이 필드의 초기화시에 데드락이 발생할 가능성이 있습니다. 이 필드는 Logger 클래스 초기화에 의해 초기화됩니다만, 그것에 의해, LogManager 클래스 초기화와의 사이에 데드락이 발생할 가능성이 있습니다. 그러한 경우, 2 개의 클래스 초기화는 한편이 완료할 때까지 대기합니다. JDK version 1.6 이후에 글로벌 로거객체를 취득하기 위한 추천의 방법은,Logger.getLogger(Logger.GLOBAL_LOGGER_NAME) 를 호출하는 것입니다.
「global」 Logger 객체는, 로깅팍케이지를 가끔 사용하는 개발자의 편의를 꾀하기 위해서(때문에) 제공되고 있습니다. 제품등으로 로깅팍케이지를 본격적으로 사용하는 개발자는, 적절한 이름을 가지는 독자적인 Logger 객체를 작성해, 그것을 사용해야 합니다. 그러면, 적절한 Logger 단위의 입도로 로깅을 제어할 수가 있습니다.  

생성자 의 상세

Logger

protected Logger(String  name,
                 String  resourceBundleName)
이름 첨부 하부조직의 로거를 구축하는 protected 메소드입니다.  

당초, 로거는 Level 가 null, useParentHandlers 가 true 로 구성됩니다.

파라미터:
name - 로거의 이름. 이것은 닷으로 단락지어진 이름에 해야 하고, 일반적으로은 java.net 나 javax.swing 등, 하부조직의 패키지명 또는 클래스명에 근거한 이름에 해야 한다. 익명 Logger 의 경우는 null 도 가능
resourceBundleName - 이 로거의 메세지의 로컬라이즈에 사용되는 ResourceBundle 의 이름. 로컬라이제이션을 필요로 하는 메세지가 존재하지 않는 경우는 null 도 가능
예외:
MissingResourceException - ResourceBundleName 가 null 이외여, 거기에 대응하는 자원이 발견되지 않는 경우
메소드의 상세

getLogger

public static Logger  getLogger(String  name)
지정된 하부조직의 로거를 검출 또는 작성합니다. 지정된 이름 로거가 벌써 작성되고 있었을 경우는 그것이 돌려주어집니다. 그 이외의 경우는 새로운 로거가 작성됩니다.  

새로운 로거가 작성되는 경우, 그 로그 레벨은 LogManager 의 구성에 근거해 설정되어 또 그 로그 출력을 부모의 핸들러에 송신하도록(듯이) 설정됩니다. 이것은 LogManager 의 글로벌 이름 공간에 등록됩니다.

파라미터:
name - 로거의 이름. 이것은 닷으로 단락지어진 이름에 해야 하고, 일반적으로은 java.net 나 javax.swing 등, 하부조직의 패키지명 또는 클래스명에 근거한 이름에 해야 한다
반환값:
적절한 Logger
예외:
NullPointerException - name 가 null 의 경우

getLogger

public static Logger  getLogger(String  name,
                               String  resourceBundleName)
지정된 하부조직의 로거를 검출 또는 작성합니다. 지정된 이름 로거가 벌써 작성되고 있었을 경우는 그것이 돌려주어집니다. 그 이외의 경우는 새로운 로거가 작성됩니다.  

새로운 로거가 작성되는 경우, 그 로그 레벨은 LogManager 의 구성에 근거해 설정되어 또 그 로그 출력을 부모 로거 Handler 에 송신하도록(듯이) 설정됩니다. 이것은 LogManager 의 글로벌 이름 공간에 등록됩니다.  

지정된 Logger 가 벌써 존재하고 있어, 그것이 로컬라이제이션리소스반돌을 아직 가지고 있지 않은 경우는, 지정된 자원 번들명이 사용됩니다. 지정된 Logger 가 벌써 존재하고 있어, 그것이 다른 자원 번들명을 가지고 있는 경우는, IllegalArgumentException 가 throw 됩니다.  

파라미터:
name - 로거의 이름. 이것은 닷으로 단락지어진 이름에 해야 하고, 일반적으로은 java.net 나 javax.swing 등, 하부조직의 패키지명 또는 클래스명에 근거한 이름에 해야 하는
resourceBundleName - 이 로거의 메세지의 로컬라이즈에 사용되는 ResourceBundle 의 이름. 로컬라이제이션을 필요로 하는 메세지가 존재하지 않는 경우는 null 도 가능
반환값:
적절한 Logger
예외:
MissingResourceException - 이름 첨부 ResourceBundle 가 발견되지 않는 경우
IllegalArgumentException - Logger 가 벌써 존재하고 있어, 그것이 다른 자원 번들명을 사용하고 있는 경우
NullPointerException - name 가 null 의 경우

getAnonymousLogger

public static Logger  getAnonymousLogger()
익명 Logger 를 작성합니다. 새롭게 작성된 Logger 는, LogManager 의 이름 공간에 등록되지 않습니다. 로거갱신시의 액세스 체크는 행해지지 않습니다.  

이 팩토리 메소드의 주된 목적은, 애플릿으로부터의 사용입니다. 결과적으로 얻을 수 있는 Logger 는 익명이기 (위해)때문에, 작성원의 클래스에 의해 비공개 상태로 유지됩니다. 이것에 의해, 일반적으로의 시큐리티 체크를 실시할 필요가 없어져, 신뢰할 수 없는 애플릿 코드가 Logger 의 제어 상태를 갱신할 수 있게 됩니다. 예를 들어, 애플릿은, 익명의 Logger 상에서 setLevel 나 addHandler 를 실행할 수 있습니다.  

새로운 로거는, 익명입니다만, 루트 로거 ( 「」)를 부모에게 가지도록(듯이) 구성됩니다. 이것은, 그 로거가 디폴트로, 실효 레벨과 핸들러를 루트 로거로부터 상속하는 것을 의미합니다.  

반환값:
새롭게 작성된 private Logger

getAnonymousLogger

public static Logger  getAnonymousLogger(String  resourceBundleName)
익명 Logger 를 작성합니다. 새롭게 작성된 Logger 는, LogManager 의 이름 공간에 등록되지 않습니다. 로거갱신시의 액세스 체크는 행해지지 않습니다.  

이 팩토리 메소드의 주된 목적은, 애플릿으로부터의 사용입니다. 결과적으로 얻을 수 있는 Logger 는 익명이기 (위해)때문에, 작성원의 클래스에 의해 비공개 상태로 유지됩니다. 이것에 의해, 일반적으로의 시큐리티 체크를 실시할 필요가 없어져, 신뢰할 수 없는 애플릿 코드가 Logger 의 제어 상태를 갱신할 수 있게 됩니다. 예를 들어, 애플릿은, 익명의 Logger 상에서 setLevel 나 addHandler 를 실행할 수 있습니다.  

새로운 로거는, 익명입니다만, 루트 로거 ( 「」)를 부모에게 가지도록(듯이) 구성됩니다. 이것은, 그 로거가 디폴트로, 실효 레벨과 핸들러를 루트 로거로부터 상속하는 것을 의미합니다.  

파라미터:
resourceBundleName - 이 로거의 메세지의 로컬라이즈에 사용되는 ResourceBundle 의 이름. 로컬라이제이션을 필요로 하는 메세지가 존재하지 않는 경우는 null 도 가능
반환값:
새롭게 작성된 private Logger
예외:
MissingResourceException - 이름 첨부 ResourceBundle 가 발견되지 않는 경우

getResourceBundle

public ResourceBundle  getResourceBundle()
현재의 디폴트 로케일에 대한 이 로거의 로컬라이제이션리소스반돌을 가져옵니다. 결과가 null 의 경우, Logger 는 부모로부터 상속한 자원 번들을 사용하는 것에 주의해 주세요.

반환값:
로컬라이제이션반돌 (null 의 경우가 있다)

getResourceBundleName

public String  getResourceBundleName()
이 로거의 로컬라이제이션리소스반돌의 이름을 가져옵니다. 결과가 null 의 경우, Logger 는 부모로부터 상속한 자원 번들의 이름을 사용하는 것에 주의해 주세요.

반환값:
로컬라이제이션반돌의 이름 (null 의 경우가 있다)

setFilter

public void setFilter(Filter  newFilter)
               throws SecurityException 
필터를 설정해 이 Logger 의 출력을 제어합니다.  

초기의 「레벨」검사에 합격하면(자), Logger 는 이 Filter 를 호출해 로그 레코드가 실제로 통지될지 어떨지를 조사합니다.

파라미터:
newFilter - 필터 객체 (null 의 경우가 있다)
예외:
SecurityException - 시큐리티 매니저가 존재하는 경우로, 호출원이 LoggingPermission("control")를 가지고 있지 않은 경우

getFilter

public Filter  getFilter()
이 Logger 의 현재의 필터를 돌려줍니다.

반환값:
필터 객체 (null 의 경우가 있다)

log

public void log(LogRecord  record)
LogRecord 의 로그를 취합니다.  

이 클래스내의 그 외의 로깅메소드는 모두, 이 메소드를 호출하는 것으로, 실제의 모든 로깅을 실행합니다. 서브 클래스는, 이 메소드를 오버라이드(override) 하는 것만으로, 모든 로그 활동을 포착할 수 있습니다.

파라미터:
record - 통지되는 LogRecord

log

public void log(Level  level,
                String  msg)
인수가 없는 메세지의 로그를 취합니다.  

지정된 메세지 레벨로 현재 로거가 사용 가능한 경우, 지정된 메세지는 등록된 모든 출력 Handler 객체에 전송 됩니다.  

파라미터:
level - 메세지 레벨 식별자의 1 개. 예를 들어, SEVERE
msg - 캐릭터 라인 메세지, 또는 메세지 카탈로그의 키

log

public void log(Level  level,
                String  msg,
                Object  param1)
1 개의 객체의 파라미터를 가지는 메세지의 로그를 취합니다.  

지정된 메세지 레벨로 현재 로거가 사용 가능한 경우, 대응하는 LogRecord 가 작성되어 등록된 모든 출력 Handler 객체에 전송 됩니다.  

파라미터:
level - 메세지 레벨 식별자의 1 개. 예를 들어, SEVERE
msg - 캐릭터 라인 메세지, 또는 메세지 카탈로그의 키
param1 - 메세지의 파라미터

log

public void log(Level  level,
                String  msg,
                Object [] params)
객체의 인수의 배열을 가지는 메세지의 로그를 취합니다.  

지정된 메세지 레벨로 현재 로거가 사용 가능한 경우, 대응하는 LogRecord 가 작성되어 등록된 모든 출력 Handler 객체에 전송 됩니다.  

파라미터:
level - 메세지 레벨 식별자의 1 개. 예를 들어, SEVERE
msg - 캐릭터 라인 메세지, 또는 메세지 카탈로그의 키
params - 메세지의 파라미터의 배열

log

public void log(Level  level,
                String  msg,
                Throwable  thrown)
관련하는 Throwable 정보를 가지는 메세지의 로그를 취합니다.  

지정된 메세지 레벨로 현재 로거가 사용 가능한 경우, 지정된 인수가, 등록된 모든 출력 핸들러에 전송 된 LogRecord 에 포함됩니다.  

thrown 인수는, LogRecord 의 parameters 프로퍼티에는 아니고, LogRecord 의 thrown 프로퍼티에 포함되는 것에 주의해 주세요. 이 때문에, 그것은 출력 Formatter 에 의해 특별한 방법으로 처리됩니다. LogRecord 의 message 프로퍼티에 대한 포맷 처리 파라미터라고는 보이지 않습니다.  

파라미터:
level - 메세지 레벨 식별자의 1 개. 예를 들어, SEVERE
msg - 캐릭터 라인 메세지, 또는 메세지 카탈로그의 키
thrown - 로그 메세지에 관련한 Throwable

logp

public void logp(Level  level,
                 String  sourceClass,
                 String  sourceMethod,
                 String  msg)
소스 클래스와 메소드를 지정하는, 인수가 없는 메세지의 로그를 취합니다.  

지정된 메세지 레벨로 현재 로거가 사용 가능한 경우, 지정된 메세지는 등록된 모든 출력 Handler 객체에 전송 됩니다.  

파라미터:
level - 메세지 레벨 식별자의 1 개. 예를 들어, SEVERE
sourceClass - 로깅의 요구를 발행한 클래스명
sourceMethod - 로깅의 요구를 발행한 메소드명
msg - 캐릭터 라인 메세지, 또는 메세지 카탈로그의 키

logp

public void logp(Level  level,
                 String  sourceClass,
                 String  sourceMethod,
                 String  msg,
                 Object  param1)
소스 클래스와 메소드를 지정해, 로그 메세지에 대해서 단일의 객체 파라미터를 가지는 메세지의 로그를 취합니다.  

지정된 메세지 레벨로 현재 로거가 사용 가능한 경우, 대응하는 LogRecord 가 작성되어 등록된 모든 출력 Handler 객체에 전송 됩니다.  

파라미터:
level - 메세지 레벨 식별자의 1 개. 예를 들어, SEVERE
sourceClass - 로깅의 요구를 발행한 클래스명
sourceMethod - 로깅의 요구를 발행한 메소드명
msg - 캐릭터 라인 메세지, 또는 메세지 카탈로그의 키
param1 - 로그 메세지의 파라미터

logp

public void logp(Level  level,
                 String  sourceClass,
                 String  sourceMethod,
                 String  msg,
                 Object [] params)
소스 클래스와 메소드를 지정하는, 객체의 인수의 배열을 가지는 메세지의 로그를 취합니다.  

지정된 메세지 레벨로 현재 로거가 사용 가능한 경우, 대응하는 LogRecord 가 작성되어 등록된 모든 출력 Handler 객체에 전송 됩니다.  

파라미터:
level - 메세지 레벨 식별자의 1 개. 예를 들어, SEVERE
sourceClass - 로깅의 요구를 발행한 클래스명
sourceMethod - 로깅의 요구를 발행한 메소드명
msg - 캐릭터 라인 메세지, 또는 메세지 카탈로그의 키
params - 메세지의 파라미터의 배열

logp

public void logp(Level  level,
                 String  sourceClass,
                 String  sourceMethod,
                 String  msg,
                 Throwable  thrown)
소스 클래스와 메소드를 지정해, 관련하는 Throwable 정보를 가지는 메세지의 로그를 취합니다.  

지정된 메세지 레벨로 현재 로거가 사용 가능한 경우, 지정된 인수가, 등록된 모든 출력 핸들러에 전송 된 LogRecord 에 포함됩니다.  

thrown 인수는, LogRecord 의 parameters 프로퍼티에는 아니고, LogRecord 의 thrown 프로퍼티에 포함되는 것에 주의해 주세요. 이 때문에, 그것은 출력 Formatter 에 의해 특별한 방법으로 처리됩니다. LogRecord 의 message 프로퍼티에 대한 포맷 처리 파라미터라고는 보이지 않습니다.  

파라미터:
level - 메세지 레벨 식별자의 1 개. 예를 들어, SEVERE
sourceClass - 로깅의 요구를 발행한 클래스명
sourceMethod - 로깅의 요구를 발행한 메소드명
msg - 캐릭터 라인 메세지, 또는 메세지 카탈로그의 키
thrown - 로그 메세지에 관련한 Throwable

logrb

public void logrb(Level  level,
                  String  sourceClass,
                  String  sourceMethod,
                  String  bundleName,
                  String  msg)
소스 클래스, 메소드, 및 자원 번들명을 지정해, 인수가 없는 메세지의 로그를 취합니다.  

지정된 메세지 레벨로 현재 로거가 사용 가능한 경우, 지정된 메세지는 등록된 모든 출력 Handler 객체에 전송 됩니다.  

msg 캐릭터 라인은, 지정된 자원 번들을 사용해 로컬라이즈 됩니다. 자원 번들명이 null, 빈 상태(empty)의 String 의 언젠가일까 무효인 경우, msg 캐릭터 라인은 로컬라이즈 되지 않습니다.  

파라미터:
level - 메세지 레벨 식별자의 1 개. 예를 들어, SEVERE
sourceClass - 로깅의 요구를 발행한 클래스명
sourceMethod - 로깅의 요구를 발행한 메소드명
bundleName - msg 를 로컬라이즈하기 위한 자원 번들명. null 도 가능
msg - 캐릭터 라인 메세지, 또는 메세지 카탈로그의 키

logrb

public void logrb(Level  level,
                  String  sourceClass,
                  String  sourceMethod,
                  String  bundleName,
                  String  msg,
                  Object  param1)
소스 클래스, 메소드, 및 자원 번들명을 지정해, 로그 메세지에 대해서 단일의 객체 파라미터를 가지는 메세지의 로그를 취합니다.  

지정된 메세지 레벨로 현재 로거가 사용 가능한 경우, 대응하는 LogRecord 가 작성되어 등록된 모든 출력 Handler 객체에 전송 됩니다.  

msg 캐릭터 라인은, 지정된 자원 번들을 사용해 로컬라이즈 됩니다. 자원 번들명이 null, 빈 상태(empty)의 String 의 언젠가일까 무효인 경우, msg 캐릭터 라인은 로컬라이즈 되지 않습니다.  

파라미터:
level - 메세지 레벨 식별자의 1 개. 예를 들어, SEVERE
sourceClass - 로깅의 요구를 발행한 클래스명
sourceMethod - 로깅의 요구를 발행한 메소드명
bundleName - msg 를 로컬라이즈하기 위한 자원 번들명. null 도 가능
msg - 캐릭터 라인 메세지, 또는 메세지 카탈로그의 키
param1 - 로그 메세지의 파라미터

logrb

public void logrb(Level  level,
                  String  sourceClass,
                  String  sourceMethod,
                  String  bundleName,
                  String  msg,
                  Object [] params)
소스 클래스, 메소드, 및 자원 번들명을 지정해, 객체의 인수의 배열을 가지는 메세지의 로그를 취합니다.  

지정된 메세지 레벨로 현재 로거가 사용 가능한 경우, 대응하는 LogRecord 가 작성되어 등록된 모든 출력 Handler 객체에 전송 됩니다.  

msg 캐릭터 라인은, 지정된 자원 번들을 사용해 로컬라이즈 됩니다. 자원 번들명이 null, 빈 상태(empty)의 String 의 언젠가일까 무효인 경우, msg 캐릭터 라인은 로컬라이즈 되지 않습니다.  

파라미터:
level - 메세지 레벨 식별자의 1 개. 예를 들어, SEVERE
sourceClass - 로깅의 요구를 발행한 클래스명
sourceMethod - 로깅의 요구를 발행한 메소드명
bundleName - msg 를 로컬라이즈하기 위한 자원 번들명. null 도 가능
msg - 캐릭터 라인 메세지, 또는 메세지 카탈로그의 키
params - 메세지의 파라미터의 배열

logrb

public void logrb(Level  level,
                  String  sourceClass,
                  String  sourceMethod,
                  String  bundleName,
                  String  msg,
                  Throwable  thrown)
소스 클래스, 메소드, 및 자원 번들명을 지정해, 관련하는 Throwable 정보를 가지는 메세지의 로그를 취합니다.  

지정된 메세지 레벨로 현재 로거가 사용 가능한 경우, 지정된 인수가, 등록된 모든 출력 핸들러에 전송 된 LogRecord 에 포함됩니다.  

msg 캐릭터 라인은, 지정된 자원 번들을 사용해 로컬라이즈 됩니다. 자원 번들명이 null, 빈 상태(empty)의 String 의 언젠가일까 무효인 경우, msg 캐릭터 라인은 로컬라이즈 되지 않습니다.  

thrown 인수는, LogRecord 의 parameters 프로퍼티에는 아니고, LogRecord 의 thrown 프로퍼티에 포함되는 것에 주의해 주세요. 이 때문에, 그것은 출력 Formatter 에 의해 특별한 방법으로 처리됩니다. LogRecord 의 message 프로퍼티에 대한 포맷 처리 파라미터라고는 보이지 않습니다.  

파라미터:
level - 메세지 레벨 식별자의 1 개. 예를 들어, SEVERE
sourceClass - 로깅의 요구를 발행한 클래스명
sourceMethod - 로깅의 요구를 발행한 메소드명
bundleName - msg 를 로컬라이즈하기 위한 자원 번들명. null 도 가능
msg - 캐릭터 라인 메세지, 또는 메세지 카탈로그의 키
thrown - 로그 메세지에 관련한 Throwable

entering

public void entering(String  sourceClass,
                     String  sourceMethod)
메소드 엔트리의 로그를 취합니다.  

이것은, 메소드에의 엔트리의 로깅에 사용 가능한 편리한 메소드입니다. 메세지 「ENTRY」, 로그 레벨 FINER, 및 지정된 sourceMethod 와 sourceClass 를 포함한 LogRecord 가, 로깅 됩니다.  

파라미터:
sourceClass - 로깅의 요구를 발행한 클래스명
sourceMethod - 엔트리 하고 있는 메소드명

entering

public void entering(String  sourceClass,
                     String  sourceMethod,
                     Object  param1)
1 개의 파라미터를 가지는 메소드 엔트리의 로그를 취합니다.  

이것은, 메소드에의 엔트리의 로깅에 사용 가능한 편리한 메소드입니다. 메세지 「ENTRY {0}」, 로그 레벨 FINER, 및 지정된 sourceMethod, sourceClass, 파라미터를 포함한 LogRecord 가, 로깅 됩니다.  

파라미터:
sourceClass - 로깅의 요구를 발행한 클래스명
sourceMethod - 엔트리 하고 있는 메소드명
param1 - 엔트리 하고 있는 메소드의 파라미터

entering

public void entering(String  sourceClass,
                     String  sourceMethod,
                     Object [] params)
파라미터의 배열을 가지는 메소드 엔트리의 로그를 취합니다.  

이것은, 메소드에의 엔트리의 로깅에 사용 가능한 편리한 메소드입니다. 메세지 「ENTRY」(파라미터 배열내의 엔트리 마다 포맷 {N} 인디케이터(indicator)가 1 개씩 계속된다), 로그 레벨 FINER, 및 지정된 sourceMethod, sourceClass, 파라미터를 포함한 LogRecord 가, 로깅 됩니다.  

파라미터:
sourceClass - 로깅의 요구를 발행한 클래스명
sourceMethod - 엔트리 하고 있는 메소드명
params - 엔트리 하고 있는 메소드의 파라미터의 배열

exiting

public void exiting(String  sourceClass,
                    String  sourceMethod)
메소드 복귀의 로그를 취합니다.  

이것은, 메소드로부터의 복귀의 로깅에 사용 가능한 편리한 메소드입니다. 메세지 「RETURN」, 로그 레벨 FINER, 및 지정된 sourceMethod 와 sourceClass 를 포함한 LogRecord 가, 로깅 됩니다.  

파라미터:
sourceClass - 로깅의 요구를 발행한 클래스명
sourceMethod - 메소드의 이름

exiting

public void exiting(String  sourceClass,
                    String  sourceMethod,
                    Object  result)
결과 객체를 가지는 메소드 복귀의 로그를 취합니다.  

이것은, 메소드로부터의 복귀의 로깅에 사용 가능한 편리한 메소드입니다. 메세지 「RETURN {0}」, 로그 레벨 FINER, 및 지정된 sourceMethod, sourceClass, 결과 객체를 포함한 LogRecord 가, 로깅 됩니다.  

파라미터:
sourceClass - 로깅의 요구를 발행한 클래스명
sourceMethod - 메소드의 이름
result - 반환된 객체

throwing

public void throwing(String  sourceClass,
                     String  sourceMethod,
                     Throwable  thrown)
예외를 throw 하는 로그를 취합니다.  

이것은, 어느 메소드가 예외를 throw 해 종료한 것을 로깅하기 위한 편리한 메소드입니다. 이 로깅은 FINER 레벨을 사용해 행해집니다.  

지정된 메세지 레벨로 현재 로거가 사용 가능한 경우, 지정된 인수가, 등록된 모든 출력 핸들러에 전송 된 LogRecord 에 포함됩니다. LogRecord 의 message 가 「THROW」로 설정됩니다.  

thrown 인수는, LogRecord 의 parameters 프로퍼티에는 아니고, LogRecord 의 thrown 프로퍼티에 포함되는 것에 주의해 주세요. 이 때문에, 그것은 출력 Formatter 에 의해 특별한 방법으로 처리됩니다. LogRecord 의 message 프로퍼티에 대한 포맷 처리 파라미터라고는 보이지 않습니다.  

파라미터:
sourceClass - 로깅의 요구를 발행한 클래스명
sourceMethod - 메소드의 이름
thrown - throw 된 Throwable

severe

public void severe(String  msg)
SEVERE 메세지의 로그를 취합니다.  

SEVERE 메세지 레벨로 현재 로거가 사용 가능한 경우, 지정된 메세지는 등록된 모든 출력 핸들러에 전송 됩니다.  

파라미터:
msg - 캐릭터 라인 메세지, 또는 메세지 카탈로그의 키

warning

public void warning(String  msg)
WARNING 메세지의 로그를 취합니다.  

WARNING 메세지 레벨로 현재 로거가 사용 가능한 경우, 지정된 메세지는 등록된 모든 출력 Handler 객체에 전송 됩니다.  

파라미터:
msg - 캐릭터 라인 메세지, 또는 메세지 카탈로그의 키

info

public void info(String  msg)
INFO 메세지의 로그를 취합니다.  

INFO 메세지 레벨로 현재 로거가 사용 가능한 경우, 지정된 메세지는 등록된 모든 출력 Handler 객체에 전송 됩니다.  

파라미터:
msg - 캐릭터 라인 메세지, 또는 메세지 카탈로그의 키

config

public void config(String  msg)
CONFIG 메세지의 로그를 취합니다.  

CONFIG 메세지 레벨로 현재 로거가 사용 가능한 경우, 지정된 메세지는 등록된 모든 출력 Handler 객체에 전송 됩니다.  

파라미터:
msg - 캐릭터 라인 메세지, 또는 메세지 카탈로그의 키

fine

public void fine(String  msg)
FINE 메세지의 로그를 취합니다.  

FINE 메세지 레벨로 현재 로거가 사용 가능한 경우, 지정된 메세지는 등록된 모든 출력 Handler 객체에 전송 됩니다.  

파라미터:
msg - 캐릭터 라인 메세지, 또는 메세지 카탈로그의 키

finer

public void finer(String  msg)
FINER 메세지의 로그를 취합니다.  

FINER 메세지 레벨로 현재 로거가 사용 가능한 경우, 지정된 메세지는 등록된 모든 출력 Handler 객체에 전송 됩니다.  

파라미터:
msg - 캐릭터 라인 메세지, 또는 메세지 카탈로그의 키

finest

public void finest(String  msg)
FINEST 메세지의 로그를 취합니다.  

FINEST 메세지 레벨로 현재 로거가 사용 가능한 경우, 지정된 메세지는 등록된 모든 출력 Handler 객체에 전송 됩니다.  

파라미터:
msg - 캐릭터 라인 메세지, 또는 메세지 카탈로그의 키

setLevel

public void setLevel(Level  newLevel)
              throws SecurityException 
이 로거가 어느 메세지 레벨을 로깅 하는지를 지정하는 로그 레벨을 설정합니다. 이 값보다 작은 메세지 레벨은 파기됩니다. 레벨치 Level.OFF 를 사용하면, 로깅을 오프로 할 수 있습니다.  

새로운 레벨이 null 의 경우, 이 노드가 null 이외의 특정의 레벨치를 가지는 가장 가까운 상위 노드로부터, 그 레벨을 상속하는 것을 의미합니다.

파라미터:
newLevel - 로그 레벨의 새로운 값 (null 의 경우가 있다)
예외:
SecurityException - 시큐리티 매니저가 존재하는 경우로, 호출원이 LoggingPermission("control")를 가지고 있지 않은 경우

getLevel

public Level  getLevel()
이 Logger 로 지정된 로그 Level 를 가져옵니다. 결과는 null 가 되는 경우도 있습니다만, 그것은, 이 로거의 실효 레벨이 부모로부터 상속되는 것을 의미합니다.

반환값:
이 Logger 의 레벨

isLoggable

public boolean isLoggable(Level  level)
지정된 레벨의 메세지가 이 로거에 의해 실제로 로깅 될지 어떨지를 체크합니다. 이 체크는, 부모로부터 상속될 가능성이 있는 Logger 의 실효 레벨에 근거해 행해집니다.

파라미터:
level - 메세지의 로그를 취하는 레벨
반환값:
지정된 메세지 레벨로 현재 로그가 취해지고 있는 경우는 true

getName

public String  getName()
이 로거의 이름을 돌려줍니다.

반환값:
로거의 이름. 익명 Logger 의 경우는 null

addHandler

public void addHandler(Handler  handler)
                throws SecurityException 
로그 Handler 를 추가해 로그 메세지를 받아들입니다.  

디폴트에서는, 로거는 자신의 친로거에도 출력을 송신합니다. 루트 Logger 는 일반적으로, 기본적으로 모든 로거의 디폴트 핸들러로서 기능하는 일련의 Handler 를 가지도록(듯이) 구성됩니다.

파라미터:
handler - 로그 Handler
예외:
SecurityException - 시큐리티 매니저가 존재하는 경우로, 호출원이 LoggingPermission("control")를 가지고 있지 않은 경우

removeHandler

public void removeHandler(Handler  handler)
                   throws SecurityException 
로그 Handler 를 삭제합니다.  

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

파라미터:
handler - 로그 Handler
예외:
SecurityException - 시큐리티 매니저가 존재하는 경우로, 호출원이 LoggingPermission("control")를 가지고 있지 않은 경우

getHandlers

public Handler [] getHandlers()
이 로거에 관련한 Handler 를 돌려줍니다.  

반환값:
모든 등록된 Handler 의 배열

setUseParentHandlers

public void setUseParentHandlers(boolean useParentHandlers)
이 로거가 출력을 그 친로거에 송신해야할 것인가 제발을 지정합니다. 즉, 모든 LogRecord 가 그 부모의 Handler 에도 기입해져 경우에 따라서는 그 또 부모의 Handler 에도 기입해집니다. 이것이, 이름 공간의 윗쪽으로 향해 반복해집니다.

파라미터:
useParentHandlers - 출력이 로거의 부모에게 송신되는 경우는 true
예외:
SecurityException - 시큐리티 매니저가 존재하는 경우로, 호출원이 LoggingPermission("control")를 가지고 있지 않은 경우

getUseParentHandlers

public boolean getUseParentHandlers()
이 로거가 출력을 그 친로거에 송신하고 있을지 어떨지를 검출합니다.

반환값:
출력이 로거의 부모에게 송신되는 경우는 true

getParent

public Logger  getParent()
이 로거의 부모를 돌려줍니다.  

이 메소드는 이름 공간에서 가장 가까운 현존 하는 부모를 돌려줍니다. 따라서, Logger 가 「a.b.c.d」라고 불려 「a.b」라고 불리는 Logger 가 작성되어, 로거 「a.b.c」가 존재하지 않는 경우, Logger 「a.b.c.d」의 getParent 의 호출은 Logger 「a.b」를 돌려줍니다.  

이름 공간의 루트 Logger 를 호출하는 경우, 결과는 null 가 됩니다.

반환값:
가장 가까운 기존의 친 Logger

setParent

public void setParent(Logger  parent)
이 로거의 부모를 설정합니다. 이 메소드는, 이름 공간의 변경시에 Logger 를 갱신하기 위해서, LogManager 에 의해 사용됩니다.  

이것은 어플리케이션 코드로부터 호출해서는 안됩니다.  

파라미터:
parent - 새로운 친로거
예외:
SecurityException - 시큐리티 매니저가 존재하는 경우로, 호출원이 LoggingPermission("control")를 가지고 있지 않은 경우

JavaTM Platform
Standard Ed. 6

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

Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.