Java log4j与spring一起创建空文件

Java log4j与spring一起创建空文件,java,spring,spring-mvc,log4j,Java,Spring,Spring Mvc,Log4j,我想在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.Max

我想在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>

由于您的配置在我看来很好,我相信您在
webapp
中有一个额外的
log4j.jar

此外,为什么不使用JBossAS7.x中的日志
子系统
?通过这个子系统,您可以对所有想要实现的功能进行集中配置。它也将更容易维护

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

查看JBoss


Shishir

解决方案是在/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>

依赖项-->

我不确定Spring配置侦听器,但确定用于定义配置文件资源的log4j系统属性是
log4j.configuration
而不是
log4jConfigLocation
()当我将其更改为log4j.configuration时,该文件不是createdthx,我知道我可以使用它,但我被要求使用我自己的log4j配置,还有其他方法吗?
<jboss-deployment-structure>
    <deployment>
        dependencies -->
        <exclusions>
            <module name="org.apache.log4j" />
        </exclusions>
    </deployment>
</jboss-deployment-structure>