【问题标题】:Log file created; But no logs are getting stored创建的日志文件;但是没有日志被存储
【发布时间】:2014-08-26 04:48:13
【问题描述】:
  • IDE:STS(Eclipse)

查询 #1:

我使用 STS 工具中可用的模板创建了一个 SpringsMVC 项目(新建->Springs 项目-> Springs MVC 项目)。我正在尝试使用 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 应用程序)。但单独修改该文件并不会改变日志文件存储。

【问题讨论】:

    标签: eclipse spring maven logging log4j


    【解决方案1】:

    默认情况下,当 STS 创建模板和 log4j 时,会为控制台附加程序定义根记录器。

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

    首先在 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>
    

    它会起作用的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-06-28
      • 2017-07-10
      • 1970-01-01
      • 2019-11-05
      • 1970-01-01
      • 2022-12-21
      相关资源
      最近更新 更多