Добрый день. Создаю логгер:
public static Logger log = Logger.getLogger(GameField.class.getName());
Ставлю ему:
log.setLevel(Level.ALL);
В документации написано:
setLevel(Level newLevel)
Set the log level specifying which message levels will be logged by this logger.
Но если создать два лога - один с уровнем конфиг, а другой с уровнем инфо:
log.info("info log");
log.config("config log");
в логи попадет только тот, который с уровнем инфо, что прямо противоречит тому что написано в документации. В чем проблема?
По умолчанию используется ConsoleHandler и у него установлен уровень Level.INFO
.
Вы можете это исправить:
создав и подключив (-Djava.util.logging.config.file=<имя файла>
) свой файл logging.properties
java.util.logging.ConsoleHandler.level = FINEST
handlers = java.util.logging.ConsoleHandler
поменять системный файл logging.properties
поменять уровень ConsoleHandler, который используется по умолчанию
log.getParent().getHandlers()[0].setLevel(Level.ALL);
добавить свой ConsoleHandler
// выключаем настройки по умолчанию иначе сообщения будут дублироваться
LogManager.getLogManager().reset();
ConsoleHandler handler = new ConsoleHandler();
handler.setFormatter(new SimpleFormatter());
handler.setLevel(Level.ALL);
log.addHandler(handler);
log.setLevel(Level.ALL);
Оборудование для ресторана: новинки профессиональной кухонной техники
Частный дом престарелых в Киеве: комфорт, забота и профессиональный уход
У меня есть веб сервис в котором я хочу аутентифицировать пользователей и получать доступ к их рекламным аккаунтам (для создания рекламы...
Есть несколько объектов, у каждого по 4 переменных, для которых созданы геттеры и сеттерыЗначение этих переменных пользователь вводит с клавиатуры