7

有人可以向我解释一下,如何为具体包中的各种类设置 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);

在图书馆HttpTransportcom.google.api.client.*

但问题是,那

Logger.getLogger(HttpTransport.class.getName()).isLoggable(Level.CONFIG); 

false......就像获得了不同的记录器一样

我还应该如何为同一个包中的所有类设置它?如果 HttpTransport 等具体类的记录器有条件。

4

1 回答 1

7

您不希望 .* 在您的包字符串中。改变

Logger logger = Logger.getLogger("com.google.api.client.*");

Logger logger = Logger.getLogger("com.google.api.client");
于 2011-03-13T18:38:10.283 回答