gpt4 book ai didi

tomcat - 不能让 tomcat-maven-plugin 创建日志文件吗?

转载 作者:行者123 更新时间:2023-11-28 21:46:09 25 4
gpt4 key购买 nike

我正在运行 mvn tomcat:run-war 目标,并获得一个包含日志目录的目录结构。但是,唉,没有日志。我只想将其替换为 log4j 日志记录,但由于各种原因,事实证明这很困难。

我已经尝试明确设置日志文件配置。我的 pom.xml 定义目前看起来像:

 <plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>tomcat-maven-plugin</artifactId>
<configuration>
<port>8084</port>
<systemProperties>
<java.util.logging.config.file>${basedir}/src/main/webapp/WEB-INF/logging.properties</java.util.logging.config.file>
</systemProperties>
</configuration>
<version>1.1</version>
</plugin>

我在启动期间看到正在读取该属性。我的属性文件如下;我将东西转储到/tmp 只是为了确保我知道去哪里找。

handlers = 1catalina.org.apache.juli.FileHandler, \
2localhost.org.apache.juli.FileHandler, \
3manager.org.apache.juli.FileHandler, \
java.util.logging.ConsoleHandler

.handlers = 1catalina.org.apache.juli.FileHandler, java.util.logging.ConsoleHandler

############################################################
# Handler specific properties.
# Describes specific configuration info for Handlers.
############################################################

1catalina.org.apache.juli.FileHandler.level = FINE
1catalina.org.apache.juli.FileHandler.directory = /tmp/logs
1catalina.org.apache.juli.FileHandler.prefix = catalina.

2localhost.org.apache.juli.FileHandler.level = FINE
2localhost.org.apache.juli.FileHandler.directory = /tmp/logs
2localhost.org.apache.juli.FileHandler.prefix = localhost.

3manager.org.apache.juli.FileHandler.level = FINE
3manager.org.apache.juli.FileHandler.directory = /tmp/logs
3manager.org.apache.juli.FileHandler.prefix = manager.
3manager.org.apache.juli.FileHandler.bufferSize = 16384

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


############################################################
# Facility specific properties.
# Provides extra control for each logger.
############################################################

org.apache.catalina.core.ContainerBase.[Catalina].[localhost].level = INFO
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].handlers = \
2localhost.org.apache.juli.FileHandler

org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/manager].level = INFO
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/manager].handlers = \
3manager.org.apache.juli.FileHandler

如果有人有任何想法,我将不胜感激。

最佳答案

我刚刚经历了类似的过程,并不完全成功......

首先要注意的是,如果要更改 Web 应用程序或 Tomcat 本身的日志记录配置,您需要清楚。参见 logging documentation on the Tomcat website了解一些细节——特别是:

This means that logging can be configured at the following layers:

  • Globally. That is usually done in the ${catalina.base}/conf/logging.properties file. The file is specified by the java.util.logging.config.file System property which is set by the startup scripts. If it is not readable or is not configured, the default is to use the ${java.home}/lib/logging.properties file in the JRE.
  • In the web application. The file will be WEB-INF/classes/logging.properties

完成此操作后,当部署到独立的 Tomcat 服务器时,我可以重新配置我的应用程序的日志记录。但是我无法让它与 Maven Tomcat 插件一起使用 - 然后我发现有人已经提交了 bug MTOMCAT-127这在撰写本文时尚未解决,似乎描述了我所看到的内容。

所以并不完全成功 - 但我希望一旦 MTOMCAT-127 问题取得进展,我可以回来更新这个答案......

关于tomcat - 不能让 tomcat-maven-plugin 创建日志文件吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7617814/

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