【发布时间】:2015-05-06 09:13:01
【问题描述】:
与 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>
【问题讨论】:
-
请问您使用的是什么版本的spring core、slf4j-api、logback-classic
-
@AshokNanda:添加了版本信息。感谢您的审核。
标签: java spring logging logback