创建日志文件;但是没有存储日志

时间:2014-08-26 04:48:14

标签: eclipse spring maven logging log4j

  • IDE:STS(Eclipse)

查询#1:

我使用STS工具中可用的模板创建了一个SpringsMVC项目(New-> Springs Project-> Springs MVC Project)。我正在尝试使用log4j。我的问题是在指定位置创建一个新的日志文件。但它仍然是空的,日志没有被存储。

  • 文件:web.xml

    <context-param>
        <param-name>log4jConfigLocation</param-name>
        <param-value>/WEB-INF/log4j.properties</param-value>
    </context-param>
    
    <listener>
       <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
    </listener>
    
  • 文件:log4j.properties

    log4j.rootLogger = DEBUG, FILE
    
    log4j.appender.FILE=org.apache.log4j.FileAppender
    log4j.appender.FILE.File=D:/log.out
    
    log4j.appender.FILE.layout=org.apache.log4j.PatternLayout
    log4j.appender.FILE.layout.conversionPattern=%m%n
    

查询#2: 此外,在提供的模板中,src / main / resources文件夹中已有log4j.xml文件(与Maven Web应用程序一起使用的标准)。但是,仅修改该文件在日志文件存储中没有任何变化。

1 个答案:

答案 0 :(得分:0)

默认情况下,当STS创建模板和log4j时,然后为控制台appender定义root logger。

您需要更改以附加登录文件。

首先在log4j.xml中定义文件appender。

 <appender name="file" class="org.apache.log4j.FileAppender">
        <param name="File" value="E:\\util.log" />
        <param name="Append" value="true" />
        <layout class="org.apache.log4j.PatternLayout">
          <param name="ConversionPattern" value="%t %-5p %c{2} - %m%n"/>
        </layout>           
     </appender>

然后在根级别进行更改。

<!-- Root Logger -->
<root>
<priority value="debug" />
<appender-ref ref="file" />
</root>

它会起作用。