Tôi đã là một vấn đề wih một thiết lập đăng nhập vào một webapp apring triển khai dưới tomcat 6.Vấn đề với Commons Logging/Log4j thiết lập trong webapp mùa xuân với tomcat 6
Các webapp sử dụng api commons-logging, trên log4j runtime nên được dùng. Tệp nhật ký được tạo nhưng vẫn trống - không có mục nhập nhật ký nào xảy ra.
thiết lập như sau:
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>
Nhật ký tệp/my.log được tạo nhưng không có nhật ký nào xuất hiện. Các bản ghi thông tin trên giao diện điều khiển tomcat, nhưng không phải với mẫu bố cục được cấu hình.
Tính năng commons-logging-1.1.1.jar và log4j-1.2.14.jar được bao gồm trong WEB-INF/lib. Bất kỳ ý tưởng gì là sai ở đây?
Tôi nghĩ rằng commons-logging (kể từ 1.1, ở đó các lỗi dẫn đến rò rỉ bộ nhớ trước) là ok. Nhưng có lẽ nó là giải pháp tốt nhất chỉ để sử dụng log4j trực tiếp - để lại các thư viện bằng cách sử dụng commons-logging unlogged. –
Điều này tất cả làm việc trong Tomcat 5.5 - đôi khi mọi thứ trở nên tồi tệ hơn –
Không, commons-logging vẫn là rác (2010), sử dụng slf4j. http://articles.qos.ch/thinkAgain.html – Manius