gpt4 book ai didi

Tomcat6 : What is the easiest way of configuring java. util.logging?

转载 作者:行者123 更新时间:2023-11-28 23:07:19 24 4
gpt4 key购买 nike

我正在开发一个需要不时记录一些内容的 servlet。但是,我不确定应该如何配置。

我的第一个启动和运行尝试是创建一个 logging.properties 文件,然后使用以下代码读取日志记录配置。

LogManager.getLogManager().readConfiguration(this.getClass().getResourceAsStream("/logging.properties"));

这工作得相当好,但似乎并不是所有事情都 100% 有效(我不能真正指出它是什么,因为有些事情有效,有些则无效)。

但是,我不确定它的作用。它会覆盖 tomcat 提供的默认 logging.properties 中的所有设置,还是添加到 tomcat 提供的属性中?

最佳答案

如果其他人在寻找解释如何配置 tomcat6 日志记录的教程时发现这个问题,我将发布一个简短的解释,说明我是如何让这些东西工作的。

首先,即使您知道您将使用 java.util.logging,我仍然会说使用 slf4j 是个好主意。 slf4j 库只是一个日志外观,它只是将所有日志转发到 java.util.logging。但是,如果出于某种原因您稍后决定使用 log4j 或 commons 日志记录,那么这将在 2 分钟内完成。 slf4j 允许您指定要使用的日志记录框架,它只是将日志记录转发到该框架。

我选择使用 slf4j,然后让它将所有日志记录转发到 java.util.logging。只需将“slf4j-api”和“slf4j-jdk14”jar 添加到您的项目中,您就可以开始了。您无需执行任何操作来初始化应用程序中的日志记录框架。但是,您确实需要创建一个属性文件,其中包含有关日志记录格式、要记录到哪个文件等的详细信息。该文件由 java.util.logging 而不是 slf4j 使用,因为 slf4j 只是将所有日志事件转发到 java.util.logging。创建文件 WEB-INF\classes\logging.properties 并将以下代码粘贴到该文件中:

handlers = 1yourapplication.org.apache.juli.FileHandler

com.yourpplication.level = ALL
com.yourapplication.handlers = 1yourapplication.org.apache.juli.FileHandler

1yourapplication.org.apache.juli.FileHandler.level = WARNING
1yourapplication.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
1yourapplication.org.apache.juli.FileHandler.prefix = yourapplication.
1yourapplication.org.apache.juli.FileHandler.formatter = java.util.logging.SimpleFormatter
1yourapplication.org.apache.juli.FileHandler.bufferSize = -1

就是这样。将创建文件“yourapplication-YYYY-MM-DD.log”(其中 YYYY-MM-DD 将替换为当前日期)并将日志写入该文件。每个午夜都会创建一个新的日志文件。

现在,要将某些内容记录到该文件中,您只需调用以下代码:

LoggerFactory.getLogger(getClass()).info("This is a logging test!");

您现在正在记录您的应用程序日志文件。

关于Tomcat6 : What is the easiest way of configuring java. util.logging?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6290942/

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