Настройка java Logger для определенного пакета - PullRequest
5 голосов
/ 13 марта 2011

Кто-нибудь может мне объяснить, как настроить 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.

1 Ответ

6 голосов
/ 13 марта 2011

Вы не хотите. * В вашей строке пакета.Измените

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

на

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