【问题标题】:Integrating logger with Spring Template MVC project将记录器与 Spring Template MVC 项目集成
【发布时间】: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-slf4j 3)slf4j 本身slf4j-api 4)从slf4j 到log4j slf4j-log4j12 5)最后有log4j 本身log4j
  • Spring 框架使用公共日志记录(作者现在对此感到遗憾),请参阅以下链接,了解如何将输出重定向到 log4j slf4j.org/legacy.html
  • 另外我不确定您是否可以在Windows中写入系统硬盘的根目录。还有你的 log4j 配置监听器声明是什么(也许你应该添加你的 web.xml)。
  • @BorisTreukhov 我已经添加了您要求的 web.xml 部分。你想要更多吗。请提及!我也试过D盘,它不工作。如果您希望我发布其他内容,请告诉我。

标签: java spring spring-mvc log4j


【解决方案1】:

本教程中提到的依赖项适用于 Maven(因此,如果您不使用 maven,请确保您的构建路径中有 log4j jar)。

另一个简单的tutorial 将 log4j 添加到您的项目,然后介绍如何configure it

【讨论】:

  • 感谢您的回复。仍然无法记录代码流。添加了我的 pom.xml。
猜你喜欢
  • 2014-06-23
  • 1970-01-01
  • 2012-10-20
  • 1970-01-01
  • 2014-10-24
  • 2019-03-24
  • 1970-01-01
  • 1970-01-01
  • 2012-08-28
相关资源
最近更新 更多