gpt4 book ai didi

java - Tomcat 没有为其内部日志记录选择 Log4j 配置

转载 作者:行者123 更新时间:2023-11-28 22:56:30 26 4
gpt4 key购买 nike

我正在尝试重新配置 Tomcat 7 以使用 log4j 进行内部日志记录。

我已遵循 Tomcat 7 文档中的所有步骤:http://tomcat.apache.org/tomcat-7.0-doc/logging.html它仍然没有使用 Log4J,或者至少它没有使用 log4j.properties 文件中指定的配置。

到目前为止我尝试了什么:

  • 将必要的 jar 文件复制到 Tomcat 中提到的位置文档

  • CATALINA_HOME, CATALINA_BASE 环境变量没有展示。添加它们并将它们都设置为 C:\Program Files\Apache Software
    基金会\Tomcat 7.0

  • 注意到 log4J 属性文件引用了catalina.base 而不是这样创建的catalina_base,catalina.base和 catalina.home 环境变量,并将两者都设置为 C:\Program Files\Apache Software Foundation\Tomcat 7.0

  • 按照建议in another answer我已经删除了 Monitor Tomcat 应用程序中的“自动”条目。 enter image description here

lib/log4j.properties

log4j.rootLogger = INFO, CATALINA

# Define all the appenders
log4j.appender.CATALINA = org.apache.log4j.DailyRollingFileAppender
log4j.appender.CATALINA.File = ${catalina.base}/logs/catalina
log4j.appender.CATALINA.Append = true
log4j.appender.CATALINA.Encoding = UTF-8
# Roll-over the log once per day
log4j.appender.CATALINA.DatePattern = '.'yyyy-MM-dd'.log'
log4j.appender.CATALINA.layout = org.apache.log4j.PatternLayout
log4j.appender.CATALINA.layout.ConversionPattern = %d [%t] %-5p %c- %m%n

log4j.appender.LOCALHOST = org.apache.log4j.DailyRollingFileAppender
log4j.appender.LOCALHOST.File = ${catalina.base}/logs/localhost
log4j.appender.LOCALHOST.Append = true
log4j.appender.LOCALHOST.Encoding = UTF-8
log4j.appender.LOCALHOST.DatePattern = '.'yyyy-MM-dd'.log'
log4j.appender.LOCALHOST.layout = org.apache.log4j.PatternLayout
log4j.appender.LOCALHOST.layout.ConversionPattern = %d [%t] %-5p %c- %m%n

log4j.appender.MANAGER = org.apache.log4j.DailyRollingFileAppender
log4j.appender.MANAGER.File = ${catalina.base}/logs/manager
log4j.appender.MANAGER.Append = true
log4j.appender.MANAGER.Encoding = UTF-8
log4j.appender.MANAGER.DatePattern = '.'yyyy-MM-dd'.log'
log4j.appender.MANAGER.layout = org.apache.log4j.PatternLayout
log4j.appender.MANAGER.layout.ConversionPattern = %d [%t] %-5p %c- %m%n

log4j.appender.HOST-MANAGER = org.apache.log4j.DailyRollingFileAppender
log4j.appender.HOST-MANAGER.File = ${catalina.base}/logs/host-manager
log4j.appender.HOST-MANAGER.Append = true
log4j.appender.HOST-MANAGER.Encoding = UTF-8
log4j.appender.HOST-MANAGER.DatePattern = '.'yyyy-MM-dd'.log'
log4j.appender.HOST-MANAGER.layout = org.apache.log4j.PatternLayout
log4j.appender.HOST-MANAGER.layout.ConversionPattern = %d [%t] %-5p %c- %m%n

log4j.appender.CONSOLE = org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.Encoding = UTF-8
log4j.appender.CONSOLE.layout = org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern = %d [%t] %-5p %c- %m%n

# Configure which loggers log to which appenders
log4j.logger.org.apache.catalina.core.ContainerBase.[Catalina].[localhost] = INFO, LOCALHOST
log4j.logger.org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/manager] =\
INFO, MANAGER
log4j.logger.org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/host-manager] =\
INFO, HOST-MANAGER

最佳答案

CATALINA_HOME 默认为 Tomcat 的安装目录。您可以根据需要设置它,但这不是必需的,尤其是在运行简单的单个实例时。此外,您只需要环境变量的下划线版本。 “点”版本通过 Java 而不是 shell 引用 - Tomcat 知道从哪里/如何获取此信息。

如果您确切地说出您将哪些 jar 放在哪里会有所帮助 - 您可能会遗漏一些小东西,但如果不知道您做了什么,就不可能说出来。此外,您可能需要确保已正确设置环境变量。打开命令提示符并键入 echo %CATALINA_HOME%echo %CATALINA_BASE% 以确保。将输出与 dir 命令针对相同目录的输出进行比较。他们匹配吗?提示:检查波浪号 (~) 缩写。

最后,您完全确定它没有使用 log4j 吗?我问是因为您链接到的站点上的 log4j.properties 文件的行为应该与 Tomcat 的开箱即用日志记录相同。如果您只是复制了该文件而没有做任何更改,那么 log4j 可能真的可以正常工作。

关于java - Tomcat 没有为其内部日志记录选择 Log4j 配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25926532/

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