2015-05-06 30 views
0

與Log4J彈簧集成類似,有一個Logback Spring integration available hereLogback擴展 - 彈簧集成 - FileAppender不起作用

一切工作正常,如記錄 - 只要我使用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> 

這裏註冊的彈簧的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> 
+0

你能告訴我,你使用的是什麼版本的彈簧芯,SLF4J的API,的logback經典的 – Ashoka

+0

@AshokNanda:增加版本信息。感謝您的審查。 – swinkler

回答

1

由於RollingAppender缺少TriggeringPolicy和/或RollingPolicy配置。

要查看錯誤/警告由於錯誤配置的消息,在logback.xml打開debug模式:

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