【发布时间】:2012-11-30 06:29:41
【问题描述】:
我阅读了很多帖子并尝试了很多方法,但仍然无法记录我的代码流。原因可能是因为各种意见让我感到困惑。
我的 WebContent/conf/log4j.properties
# Direct log messages to a log file
log4j.appender.rollingFile=org.apache.log4j.RollingFileAppender
log4j.appender.rollingFile.File=D:/mylog.log
log4j.appender.rollingFile.MaxFileSize=2MB
log4j.appender.rollingFile.MaxBackupIndex=2
log4j.appender.rollingFile.Threshold=debug
log4j.appender.rollingFile.layout = org.apache.log4j.PatternLayout
log4j.appender.rollingFile.layout.ConversionPattern=%p %t %c - %m%n
log4j.rootLogger = INFO, rollingFile
我的 /WEB-INF/web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
<display-name>SpringSort</display-name>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
<servlet>
<servlet-name>sort</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>sort</servlet-name>
<url-pattern>*.html</url-pattern>
</servlet-mapping>
</web-app>
我的控制器 Controller.java 的一部分
private static final Logger logger = LoggerFactory.getLogger(Controller.class);
System.out.println(logger);
System.out.println(logger.isDebugEnabled());
logger.info("Logger Initiliazed");
System.out.println(logger); 给出了参考地址,System.out.println(logger.isDebugEnabled()); 给出了真值。
但是没有创建日志文件。
谁能帮我解决这个问题?
【问题讨论】:
-
LoggerFactory的包名是什么?是 org.apache.log4j.spi 吗?另请检查是否至少有
"Welcome home!"被记录 -
在 stackoverflow.com/questions/3387441/… 查看 log4j 示例 - 如果您使用 slf4j,我认为您必须禁用 commons-logging 1) 为
commons-logging添加排除项 2) 从 commons-logging 添加到 slf4j 的桥(这是公共日志记录的替代品)即jcl-over-slf4j3)slf4j 本身slf4j-api4)从slf4j 到log4jslf4j-log4j125)最后有log4j 本身log4j -
Spring 框架使用公共日志记录(作者现在对此感到遗憾),请参阅以下链接,了解如何将输出重定向到 log4j slf4j.org/legacy.html
-
另外我不确定您是否可以在Windows中写入系统硬盘的根目录。还有你的 log4j 配置监听器声明是什么(也许你应该添加你的 web.xml)。
-
@BorisTreukhov 我已经添加了您要求的 web.xml 部分。你想要更多吗。请提及!我也试过D盘,它不工作。如果您希望我发布其他内容,请告诉我。
标签: java spring spring-mvc log4j