gpt4 book ai didi

java - Tomcat JULI logging.properties 的解释

转载 作者:行者123 更新时间:2023-11-28 22:10:42 24 4
gpt4 key购买 nike

我通常使用 Log4J。我想了解如何在 Tomcat 服务器中配置 JULI。我已经提供了我对这些以字符 * 开头的行的含义的理解。能否请您确保我的理解是正确的。

 *THE SET OF ALL HANDLERS HAVE TO BE DECLARED AS VALUES OF handlers
handlers = 1catalina.org.apache.juli.FileHandler,2localhost.org.apache.juli.FileHandler, java.util.logging.ConsoleHandler

*THIS IS THE SET OF HANDLERS ALL LOGGERS WILL HAVE THESE HANDLERS like rootLogger IN LOG4J. YOU DO NOT HAVE DECLARE THEM FOR ANY LOGGERS.
.handlers = 1catalina.org.apache.juli.FileHandler, java.util.logging.ConsoleHandler

*THIS IS THE CONFIGURATION FOR ALL THE HANDLERS
############################################################
# Handler specific properties.
# Describes specific configuration info for Handlers.
############################################################

1catalina.org.apache.juli.FileHandler.level = FINE
1catalina.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
1catalina.org.apache.juli.FileHandler.prefix = catalina.

2localhost.org.apache.juli.FileHandler.level = FINE
2localhost.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
2localhost.org.apache.juli.FileHandler.prefix = localhost.

java.util.logging.ConsoleHandler.level = FINE
java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter

############################################################
# Facility specific properties.
# Provides extra control for each logger.
############################################################
*[localhost].handlers IS THE SPECIFIC HANDLER FOR LOCALHOST
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].level = INFO
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].handlers = 2localhost.org.apache.juli.FileHandler

# For example, set the com.xyz.foo logger to only log SEVERE
# messages:
#org.apache.catalina.startup.ContextConfig.level = FINE
#org.apache.catalina.startup.HostConfig.level = FINE
#org.apache.catalina.session.ManagerBase.level = FINE
#org.apache.catalina.core.AprLifecycleListener.level=FINE

我对这一行感到困惑: .handlers = 1catalina.org.apache.juli.FileHandler, java.util.logging.ConsoleHandler

是否每个记录器都得到这两个记录器,即使他们已经声明了自己的记录器?因此,当消息记录到 2localhost.org.apache.juli.FileHandler 时,它也会记录到 1catalina.org.apache.juli.FileHandler 和 java.util.logging.ConsoleHandler。

或者,如果记录器设置了它的处理程序,则不会在 1catalina.org.apache.juli.FileHandler、java.util.logging.ConsoleHandler 上进行记录,因为它的处理程序已设置。

欢迎任何帮助。

最佳答案

Logging in Tomcat文档将回答您的问题。

I am confused by this line: .handlers = 1catalina.org.apache.juli.FileHandler, java.util.logging.ConsoleHandler

Does every logger get these two loggers even if they have declared their own loggers? So when a message is logged to 2localhost.org.apache.juli.FileHandler it also logged to 1catalina.org.apache.juli.FileHandler and java.util.logging.ConsoleHandler.

根据上面的文档页面:

A prefix may be added to handler names, so that multiple handlers of a single class may be instantiated. A prefix is a String which starts with a digit, and ends with '.'. For example, 22foobar. is a valid prefix.

标准 JUL LogManager 不支持每个类名的多个配置。通过添加前缀,它允许 JULI 创建具有来自 logging.properties 的不同配置的相同类类型的多个实例。

因此回到您问题中的示例配置文件,1catalina.2localhost. 只是创建 org.apache.juli 的前缀标识符。具有特定配置的 FileHandler

I am interested on the ".handlers" entry in the properties file. Do you know what the "." character does?

对于 Tomcat,这在以下内容中有解释:Why we need two times write handlers in tomcat logging.properties?

关于java - Tomcat JULI logging.properties 的解释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48973971/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com