2013-09-17 3 views
0

Я пробую следующий пример кода (на основе кода от here). Моя цель - установить уровень ведения журнала из времени выполнения.java.util.logging: установка уровня журнала динамически

package logchecker; 
import java.util.logging.*; 

public class Logchecker { 

    private static final Logger logger = Logger.getLogger(Logchecker.class.getName()); 

    public static void main(String[] args) { 
     System.out.println("This logger's level is " + logger.getLevel()); // null 
     logger.setLevel(Level.ALL); 
     System.out.println("This logger's level is " + logger.getLevel()); // null 
     logger.info("TEST"); 
     logger.finest("FINEST TEST"); 
    } 
} 

Выход:

уровень этого Logger является нулевым

уровень этого Logger является ALL

17 сентября 2013 1:46:31 PM logchecker.Logchecker главный

ИНФО: ИСПЫТАНИЕ

Он, очевидно, не выводит log.finest. Что мне не хватает? Я работаю с NetBeans 7.3.

+1

Может быть, [это] (http://stackoverflow.com/questions/6315699/why-are-my-level-fine-logging-messages-not -showing) вопрос о SO может вам помочь. – Stefan

+1

Возможно, это дубликат http://stackoverflow.com/questions/6315699/why-are-my-level-fine-logging-messages-not-showing?rq=1 – Qben

+0

спасибо. Это действительно та же проблема. Если бы я только знал, чтобы искать обработчика ... –

ответ

0

Мне также нужно было установить уровень моих обработчиков. Добавил следующий код к моей основной:

Logger root = Logger.getLogger(""); 
Handler[] handlers = root.getHandlers(); 
for(Handler h: handlers){ 
    h.setLevel(Level.INFO); 
} 

Конечно, вы можете установить уровень на все, что вам нужно.

еще раз спасибо на комментарии для направления меня к решению

Смежные вопросы