1

我正在尝试设置 log4j 以在 Spring MVC webapp 中使用。stdout 日志记录工作正常,但 RollingFileAdapter 和 FileAdapter 都无法将我的日志打印到文件中。这是我的 log4j.properties 文件:

# Root logger option  
log4j.rootLogger=INFO, file, stdout
# Direct log messages to a log file  
log4j.appender.file=org.apache.log4j.RollingFileAppender  
log4j.appender.file.File=~/logger.log 
log4j.appender.file.MaxFileSize=100MB  
log4j.appender.file.MaxBackupIndex=1  
log4j.appender.file.layout=org.apache.log4j.PatternLayout  
log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L -     %m%n

# Direct log messages to stdout  
log4j.appender.stdout=org.apache.log4j.ConsoleAppender  
log4j.appender.stdout.Target=System.out  
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout  
log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L -     %m%n

在 web.xml 我定义了监听器:

<listener>
    <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
</listener>

和上下文参数:

<context-param>
    <param-name>log4jConfigLocation</param-name>
    <param-value>/WEB-INF/classes/log4j.properties</param-value>
</context-param>

我正在使用 Maven 并使用以下方法定义依赖项:

<dependency>  
    <groupId>log4j</groupId>  
    <artifactId>log4j</artifactId>  
    <version>1.2.12</version>
</dependency> 

在我的控制器中,我使用实例化记录器

private static final Logger logger = Logger.getLogger(DeviceController.class); 

并使用以下方法对其进行测试

//Implement required logging method
logger.debug("Debug.."); 
logger.info("Info..");
logger.error("Error..");
logger.fatal("Fatal");
logger.trace("trace");

我正在使用 Ubuntu 12.04 和 Spring MVC3。我已经为日志文件尝试了几个目录,并且每次都预先创建了路径。

我应该补充一点,我还收到以下无法解释的错误:

An error occurred while filtering resources PolicyManager line 1 Maven Configuration Problem

但它仍然可以编译并且标准输出日志有效。

有没有人对为什么没有创建和/或附加日志文件有任何建议?

4

0 回答 0