有人可以向我解释一下如何为具体包中的各种类设置 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);
is false
...就像获得了不同的记录器一样
我还应该如何为同一包中的所有类设置它? HttpTransport 等具体类的记录器是否有条件。
您不希望包字符串中包含 .*。
改变
Logger logger = Logger.getLogger("com.google.api.client.*");
to
Logger logger = Logger.getLogger("com.google.api.client");
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)