Использование Logger в Domino Java Agent - PullRequest
0 голосов
/ 07 июня 2018

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

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

Когда я регистрируюсь с использованием

logger.info("logger started")

вывод в Domino Server Console

[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 для Domino не учитывала все уровни.INFO будут ошибки?

1 Ответ

0 голосов
/ 08 июня 2018

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

(установка сервера) 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());

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

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

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