任何人都可以向我解释一下,如何从具体包中为各种类设置java Logger?
例如: 如果我得到这个并设置它
Logger logger = Logger.getLogger("com.google.api.client.*");
logger.setLevel(Level.CONFIG);
logger.addHandler(new Handler() {
@Override
public void close() throws SecurityException {
}
@Override
public void flush() {
}
@Override
public void publish(LogRecord record) {
// default ConsoleHandler will take care of >= INFO
if (record.getLevel().intValue() < Level.INFO.intValue()) {
System.out.println(record.getMessage());
}
}
});
有这样的条件
Logger.getLogger(HttpTransport.class.getName()).isLoggable(Level.CONFIG);
HttpTransport
属于com.google.api.client.*
的库中的
但问题是,
Logger.getLogger(HttpTransport.class.getName()).isLoggable(Level.CONFIG);
是false
...就像是获得了不同的记录器一样
我应该如何为同一个包中的所有类设置它?如果有像HttpTransport这样的具体类的记录器的条件。
答案 0 :(得分:6)
您不希望包字符串中包含。*。 变化
Logger logger = Logger.getLogger("com.google.api.client.*");
到
Logger logger = Logger.getLogger("com.google.api.client");