spring mvc-3.1.1与logback-1.0.3,slf4j-1.6.4集成

    之前用过spring配置log4j的。但是由于log4j和commons已经没人维护了。所以才写这篇文章。在spring源代码里,有默认log4j支持的监听器,但是没有logback的。
    下面是启用log4j的配置。
在web.xml最上面,配置如下代码
  <context-param>
    <param-name>log4jConfigLocation</param-name>
    <param-value>classpath:log4j.properties</param-value>
  </context-param>
  <context-param>
    <param-name>log4jRefreshInterval</param-name>
    <param-value>60000</param-value>
  </context-param>
  <listener>
    <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
  </listener>

既完成了集成。
   
    logback支持开发。
    jar包
logback-classic-1.0.3.jar
logback-core-1.0.3.jar
commons-logging-api-1.1.1.jar
slf4j-api-1.6.4.jar

    1.开发logback支持类。
org.springframework.util.LogbackConfigurer.java
org.springframework.web.util.LogbackConfigListener.java
org.springframework.web.util.LogbackWebConfigurer.java
    2.配置WEB-INF/web.xml。
  <!-- spring logback -->
	<context-param>
		<param-name>logbackConfigLocation</param-name>
		<param-value>WEB-INF/logback.xml</param-value>
	</context-param>  
	<listener>
		<listener-class>org.springframework.web.util.LogbackConfigListener</listener-class>
	</listener>

    3.配置WEB-INF/logback.xml。
<?xml version="1.0" encoding="UTF-8"?>
<configuration scan="true" scanPeriod="30 seconds">
	<!-- appender -->
	<appender name="stdout" class="ch.qos.logback.core.ConsoleAppender">
		<layout class="ch.qos.logback.classic.PatternLayout">
			<pattern>%d{yyyy-MM-dd HH:mm:ss:SSS}[%p]: %m%n</pattern>
		</layout>
	</appender>
	<!-- log 通过 LoggerFactory.getLogger(name)取得 -->
	<logger name="myLog" additivity="true" level="info">
		<appender-ref ref="stdout" />
	</logger>
	<!-- root 默认日志配置 -->
	<root level="info">
		<appender-ref ref="stdout" />
	</root>
</configuration>


其中,logback支持类,包名字和原来一样,只是log4j部分改成了logback。这样在代码中,方便辨认是框架的扩展。
附件中是3个java类和logback的代码。
集成的时候,只要在web项目中,能正常使用spring,然后把这个上面的东西追加上即可。

猜你喜欢

转载自phl.iteye.com/blog/1534086