繁体   English   中英

用spring log4j创建空文件

[英]log4j with spring create empty file

我想在spring 4.0.1和JBOSS 7.1中使用log4j 1.2.9,但是每次我在控制台上获取日志信息,但文件已创建且为空时...

log4j.properties

log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=C:\\log\\loggingFile.log
log4j.appender.file.MaxFileSize=1MB
log4j.appender.file.MaxBackupIndex=1
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n


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{ABSOLUTE} %5p %c{1}:%L - %m%n

# Root logger option
log4j.rootLogger=INFO, file, stdout

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>

简单测试控制器

import org.apache.log4j.BasicConfigurator;
import org.apache.log4j.Logger;
@ManagedBean(name="MyController")
public class MyController {
    static final Logger logger = Logger.getLogger(MyController.class);
    public String test() {
    BasicConfigurator.configure();  
    logger.debug(LoginController.class);  
    logger.info("Info.. ");  
    logger.error("Error..");  
    logger.fatal("Fatal");   
      return null;
  }}

解决方案是在/ WEB-INF中添加jboss-deployment-structure.xml以排除org.apache.log4j

<jboss-deployment-structure>
    <deployment>
        dependencies -->
        <exclusions>
            <module name="org.apache.log4j" />
        </exclusions>
    </deployment>
</jboss-deployment-structure>

我的配置看起来不错,我相信您在webapp有一个log4j.jar的额外副本。

而且,为什么不使用JBoss AS 7.x存在的日志subsystem 通过该子系统,您可以为要实现的所有功能进行集中配置。 维护也将更加容易。

为此,只需删除log4j.properties并通过依赖项导入log4j / slf4j ,并确保您没有在webapp打包自己的log4j / slf4j jar。

查看JBoss的日志记录配置

Shishir

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM