ai có thể giải thích cho tôi, làm thế nào để thiết lập java Logger cho các lớp khác nhau từ một gói bê tông?Thiết lập java Logger cho một gói cụ thể
ví dụ: nếu tôi nhận được cái này và thiết lập nó
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());
}
}
});
có điều kiện như thế này
Logger.getLogger(HttpTransport.class.getName()).isLoggable(Level.CONFIG);
trong thư viện nơi HttpTransport
là một phần của com.google.api.client.*
Nhưng vấn đề là,
Logger.getLogger(HttpTransport.class.getName()).isLoggable(Level.CONFIG);
là false
... như thế nào nếu một logger khác nhau được thu thập
Còn cách nào khác tôi nên thiết lập nó cho tất cả các lớp từ gói giống nhau không? nếu có điều kiện cho logger cho các lớp cụ thể như HttpTransport.
OMG :-) Tôi đã dành 30 phút với một này ... Cảm ơn bạn – lisak
Nó tốt hơn để sử dụng 'Client.class.getName()' hơn một chuỗi như tên lớp, vì vậy nếu bạn refactor nó sẽ không phá vỡ đăng nhập của bạn. – Webnet