Где находится java.утиль.лесозаготовительный.Logger хранит их журнал

это может быть глупый вопрос, но я немного потерялся с Java Logger

private static Logger logger = Logger.getLogger("order.web.OrderManager");
logger.info("Removed order " + id + ".");

где я вижу журнал? Также эта цитата из java.утиль.лесозаготовительный.Библиотека регистратора:

при каждом вызове журнала регистратор первоначально выполняет дешевую проверку уровня запроса (например, строгий или штраф) против эффективного уровня журнала регистратора. Если уровень запроса ниже уровня журнала, вызов журнала возвращается немедленно.
Пройдя этот первоначальный (дешевый) тест, регистратор выделит LogRecord для описания сообщения журнала. Затем он вызовет фильтр (если он присутствует), чтобы более подробно проверить, должна ли запись быть опубликована. Если это пройдет, он опубликует LogRecord в своих выходных обработчиках.`

означает ли это, что если у меня есть 3 request level log:

logger.log(Level.FINE, "Something");
logger.log(Level.WARNING, "Something");
logger.log(Level.SEVERE, "Something");

и меня log level сурово, я вижу все три бревна, и если мой log level это предупреждение, тогда я не вижу серьезного журнала, это правильно? И как мне установить log level?

3 ответов


где я вижу журнал?

в файле журнала или стандартном выходе, в зависимости от фактической конфигурации обработчика журнала. Это можно установить через файл свойств или непосредственно через API ведения журнала.

означает ли это, что если у меня есть 3 журнала уровня запроса...

SEVERE является наиболее важным (наивысший приоритет) и FINE является наименее важным типом сообщения из 3, показанных в вашем примере. Поэтому, если ваш уровень журнала SEVERE, только SEVERE сообщения регистрируются. Если уровень FINE, все 3 сообщения регистрируются.

это очень полезно, когда в реальной производственной среде вы можете регистрировать только ошибки и, возможно, предупреждения (которые, надеюсь, довольно редки, но вы хотите знать о них), поэтому вы можете установить уровень журнала в WARNING. Однако в вашей среде разработки, например, при отладке проблемы, вы хотите видеть всю информацию в журналах, даже если она создает большой объем данных и замедляет работу приложения. Таким образом, вы устанавливаете уровень журнала в FINE или FINEST.

вот хороший введение в ведение журнала Java.

обновление: простой пример из приведенной выше страницы для настройки регистратора для входа в файл на уровне FINEST:

Handler fh = new FileHandler("%t/wombat.log");
Logger.getLogger("").addHandler(fh);
Logger.getLogger("com.wombat").setLevel(Level.FINEST);

чтобы войти в консоль, замените FileHandler С ConsoleHandler:

Handler ch = new ConsoleHandler();
Logger.getLogger("").addHandler(ch);

это всего лишь пример, в реальном приложении это предпочтительно настроить ведение журнала через файл свойств config.


на обзор ведения журнала Java TM довольно интересно ответить на все ваши вопросы на Java Logger:

logging overview

вы увидите свой журнал, где Handler(s), связанные с вашим Logger будет генерировать указанный журнал (в Console или Stream...).
Конфигурация по умолчанию устанавливает один обработчик на корневом регистраторе для отправки вывода на консоль.

Уровень Журнала:

каждое сообщение журнала имеет связанный уровень журнала. Уровень дает приблизительное руководство по важности и срочности сообщения журнала. Объекты уровня журнала инкапсулируют целочисленное значение с более высокими значениями, указывающими на более высокие приоритеты.

The Level класс определяет семь стандартных уровней журнала, начиная от FINEST (самый низкий приоритет, с самым низким значением) до SEVERE (самый высокий приоритет, с наибольшим значением).


, куда он идет, зависит от конфигурации. Подробности об этом приведены в документах API. Уровень журнала-это полная противоположность тому, что вы сказали. Если у вас есть конфигурация FINE, все FINE, WARNING, SEVERE появится, но если у вас установлено значение SEVERE тогда всплывут только те.

В общем, вы должны использовать FINE при отладке и переключении на SEVERE, когда он находится в рабочей среде.