Использование Logger в Domino Java Agent

Я хочу отказаться от использования строкового буфера и System.out.println в Java-агентах.

Я хочу использовать java.util.Logger.

Когда я вхожу в систему, используя

logger.info("logger started")

вывод в консоли сервера Domino

[0FDC:000D-1258] 06/07/2018 03:13:57 PM  Agent Manager: Agent  error: Jun 07, 2018 3:13:57 PM TransferDocsToServerNSF NotesMain INFO: logger started.

Обратите внимание, что платформа Domino добавила «Ошибка агента» перед выводом при использовании Level.INFO

Затем я попытался использовать .logp с Level.FINE, и никаких результатов не было.

logger.setLevel(Level.ALL); or logger.setLevel(Level.FINE);
logger.logp(Level.FINE,this.getClass().getSimpleName(),"main","logger started.");

вывод: Нет вывода. Все, что ниже Level.INFO, не печатается.

Как настроить таргетинг журнала Domino на отображение Level.FINE?

И что я могу сделать, чтобы INFO for Domino не считал все Level.INFO ошибками?

stackoverflow.com/questions/6315699/… Этот ответ может вам помочь.
Gatusko 07.06.2018 23:13

@Gatusko Да, этот пост помог мне понять, как работает ведение журнала.

xpagesbeast 08.06.2018 00:14
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
1
2
764
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

После редактирования этого файла на сервере мне удалось распечатать журнал на разных уровнях:

(установка сервера) IBM / Domino / jvm / lib / logging.properties

# Default global logging level.
# This specifies which kinds of events are logged across
# all loggers.  For any given facility this global level
# can be overriden by a facility specific level
# Note that the ConsoleHandler also has a separate level
# setting to limit messages printed to the console.
.level= FINEST

# Limit the message that are printed on the console to INFO and above.
java.util.logging.ConsoleHandler.level = FINEST

Тестирование кода Java

logger = Logger.getLogger("com.xpagesbeast");
logger.setUseParentHandlers(false); //do not use the global logger (avoid two outputs per log)

создайте собственный обработчик, если он не существует, посмотрите здесь, вы можете создать более одного обработчика, который JVM будет отслеживать.

if (logger.getHandlers().length == 0){
    System.out.println("Adding a new handler"); 
    consoleHandler = new ConsoleHandler();
    logger.addHandler(consoleHandler);
}               

logger.getHandlers()[0].setLevel(Level.INFO);
logger.severe("test severe logging " + logger.getName());
logger.warning("test warning logging " + logger.getName());
logger.info("test info logging " + logger.getName());
logger.finer("test finer logging " + logger.getName());
logger.finest("test finest logging " + logger.getName());

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

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

Другие вопросы по теме