Logback Extensions - Spring Integration - FileAppender无法正常工作

时间:2015-05-06 09:13:01

标签: java spring logging logback

与Log4J Spring集成类似,有一个Logback Spring integration available here

只要我使用ConsoleAppender,所有内容都可以正常工作。但是如上所述将RollingFileAppender配置为spring bean并在 logback.xml 中注册它是无效的。没有错误,没有日志文件。

这是 logback.xml

<configuration>
    <appender name="consoleAppender" class="ch.qos.logback.ext.spring.DelegatingLogbackAppender" />
    <appender name="fileAppender" class="ch.qos.logback.ext.spring.DelegatingLogbackAppender" />
    <root level="INFO">
        <appender-ref ref="consoleAppender" />
        <appender-ref ref="fileAppender" />
    </root>
    <logger name="org.hibernate.type" level="INFO" />
    <logger name="org.hibernate" level="INFO" />
</configuration>

此处 spring-context.xml 部分用于注册(仅fileAppender,另一个正常工作):

<!-- Logback Spring Initialization -->
    <bean class="ch.qos.logback.ext.spring.ApplicationContextHolder" />
     <bean id="fileAppender" class="ch.qos.logback.core.rolling.RollingFileAppender" init-method="start" destroy-method="stop">
            <property name="context" value="#{ T(org.slf4j.LoggerFactory).getILoggerFactory() }" />
            <property name="file" value="/logs/testlog.log"/>
            <property name="append" value="true"/>
            <property name="encoder">
                <bean class="ch.qos.logback.classic.encoder.PatternLayoutEncoder" init-method="start" destroy-method="stop">
                    <property name="context" value="#{ T(org.slf4j.LoggerFactory).getILoggerFactory() }" />
                    <property name="pattern" value="%d{yyyy-MM-dd_HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n" />
                </bean>
            </property>
        </bean>

有人遇到过这种配置并指出了什么可能有用或者缺少什么?

pom.xml中的版本:

<spring.version>4.0.9.RELEASE</spring.version>   
<slf4j.version>1.7.7</slf4j.version>
<logback.version>1.1.3</logback.version>
<logback-extensions.version>0.1.1</logback-extensions.version>  

1 个答案:

答案 0 :(得分:1)

因为RollingAppender缺少TriggeringPolicy和/或RollingPolicy配置。

要查看错误配置导致的错误/警告消息,请在debug中启用logback.xml模式:

<configuration debug="true">
  ...
</configuration>