查询#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应用程序一起使用的标准)。但是,仅修改该文件在日志文件存储中没有任何变化。
答案 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>
它会起作用。