상속하고 싶습니다 java.util.logging.Logger
. 현지화가 필요하지 않을 때 기본 ResourceBundle을 가져 오는 최소한의 방법이 있습니까?
static Logger getLogger(String name)
static Logger getLogger(String name, String resourceBundleName)
기본
ResourceBundle
또는 어떤 종류를 얻을 수있는 방법이 있나요 : 만 볼 수 생성자는 인스턴스를 취득하고자 할 때, 그들은 두 가지 방법을 제공하는 것이이 사실에도 불구하고
protected Logger(String name, String resourceBundleName)
입니다 기본 이름은 ResourceBundle
이므로 국제화 속성 파일 및 관련 객체를 만들지 않고 생성자를 사용할 수 있습니까?
물론 래퍼 클래스를 생성하고 getLogger(String name)
을 사용하여 ResourceBundle
이름이 필요하지 않게 할 수 있습니다. 불행히도 그 의미는 내가 사용하려는 모든 Logger
메서드에 대한 래퍼 메서드를 구현해야 할 것입니다. (너무 많은 타이핑).
편집 : 로거에서 기본 현지화 데이터를 가져 오는 다음 시도가 작동하지 않습니다.
import java.util.logging.Logger;
class JLogger extends Logger
{
static Logger dummyLogger = Logger.getLogger("com.dummy.utilities");
private JLogger(String name)
{
super(name, JLogger.dummyLogger.getResourceBundleName());
}
static JLogger getJLogger(String name)
{
return new JLogger(name);
}
public void severe() // a zero arguments version of severe
{
severe("");
}
}
getResourceBundleName()
은 null을 반환합니다. 두 번째 인수가 null
이면 super(name, resourceName)
생성자는 로깅을 수행하지 않는 무언가를 작성합니다.