在dominojava代理中使用记录器

在dominojava代理中使用记录器,java,logging,lotus-domino,javaagents,Java,Logging,Lotus Domino,Javaagents,我不想在Java代理中使用字符串缓冲区和System.out.println 我想使用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: log

我不想在Java代理中使用字符串缓冲区和System.out.println

我想使用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.
请注意,使用Level.INFO时,Domino平台在输出之前添加了“代理错误”

然后我尝试将.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


<> P> Domino,我能做些什么,不考虑所有级别信息是否是错误?

< P>我在服务器上编辑这个文件后可以在不同级别打印日志:

(服务器安装)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());
现在,我可以在数据库或环境变量中设置调试标志,并根据需要详细指定日志记录级别


例如,如果我想调试应用程序,我可以在应用程序读取的数据库中设置一个值,以确定处理程序将使用的日志记录级别。

这个答案可以帮助您。@Gatusko是的,那篇文章帮助我理解了日志记录的工作原理。