gpt4 book ai didi

java - 使用 tomcat 6 的 spring webapp 中的 Commons Logging/Log4j 设置问题

转载 作者:太空狗 更新时间:2023-10-29 22:54:55 24 4
gpt4 key购买 nike

我在 tomcat 6 下部署的 apring webapp 中的日志记录设置有问题。

Web 应用程序使用 commons-logging api,在运行时应该使用 log4j。日志文件已创建但仍为空 - 没有日志条目出现。

设置如下:

WEB-INF/web.xml:

 <context-param>
<param-name>log4jConfigLocation</param-name>
<param-value>/WEB-INF/log4j.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
</listener>

WEB-INF/classes/commons-logging.properties:

org.apache.commons.logging.Log=org.apache.commons.logging.impl.Log4JLogger

WEB-INF/log4j.xml:

<log4j:configuration xmlns:log4j='http://jakarta.apache.org/log4j/'>

<appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
...
</appender>
<appender name="FILE" class="org.apache.log4j.RollingFileAppender">
<param name="File" value="${catalina.home}/logs/my.log"/>
...
</appender>

<logger name="my.package">
<level value="INFO"/>
</logger>

<root>
<level value="ERROR"/>
<appender-ref ref="CONSOLE"/>
<appender-ref ref="FILE"/>
</root>
</log4j:configuration>

文件 logs/my.log 已创建,但没有日志出现。这些是 tomcat 控制台上的信息日志,但没有配置布局模式。

commons-logging-1.1.1.jar 和 log4j-1.2.14.jar 包含在 WEB-INF/lib 中。知道这里出了什么问题吗?

最佳答案

网络上有许多记录在案的实例,警告人们不要使用 commons-logging。这么多,SLF4J越来越受欢迎。

考虑到您对将 Tomcat 与 Log4j 结合使用不感兴趣,您应该直接在您的应用程序中使用 Log4j。特别是如果您将来没有机会切换日志记录框架。它将降低您的应用程序的复杂性,并消除您在使用 commons-logging 时遇到的任何类加载器问题。

在您的文本中这应该是一个相对容易的搜索和替换,因为 commons-logging 和 log4j 都使用类似的调用结构来记录方法。

关于java - 使用 tomcat 6 的 spring webapp 中的 Commons Logging/Log4j 设置问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/217929/

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