SSM框架引入logback日志框架

1、本章主要结合实例描述如何在SpringMVC框架中引入logback日志框架,关于常见的几种日志框架的介绍和性能对比大家可以自行去了解。

2、整合logback:

2.1、jar包引入,logback-ext-spring为spring支持jar

  1. <dependency>  
  2.                 <groupId>ch.qos.logback</groupId>  
  3.             <artifactId>logback-classic</artifactId>  
  4.             <version>1.1.2</version>  
  5.         </dependency>  
  6.   
  7.         <dependency>  
  8.             <groupId>ch.qos.logback</groupId>  
  9.             <artifactId>logback-core</artifactId>  
  10.             <version>1.1.2</version>  
  11.         </dependency>  
  12.   
  13.         <dependency>  
  14.             <groupId>org.logback-extensions</groupId>  
  15.             <artifactId>logback-ext-spring</artifactId>  
  16.             <version>0.1.1</version>  
  17.         </dependency>  

2.2、web.xml中配置监听器,param-name的配置参考WebLogBackConfigurer类

  1. <context-param>  
  2.         <param-name>logbackConfigLocation</param-name>  
  3.         <param-value>classpath:logback.xml</param-value>  
  4.     </context-param>  
  5.   
  6.     <listener>  
  7.         <listener-class>ch.qos.logback.ext.spring.web.LogbackConfigListener</listener-class>  
  8.     </listener>  
2.3、配置日志相关属性logback.xml,关于详细的配置可以参考一篇博客,里面讲的很详细:l logback.xml

项目在D盘,这里配置的日志输出路径是:D:\local\logs\..,目录在项目启动时会自动创建

  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <configuration>  
  3.     <!-- 尽量别用绝对路径,如果带参数不同容器路径解释可能不同,以下配置参数在pom.xml里 -->  
  4.     <property name="log.root.level" value="DEBUG" /> <!-- 日志级别 -->  
  5.     <property name="log.other.level" value="ERROR" /> <!-- 其他日志级别 -->  
  6.     <property name="log.base" value="/local/logs" /> <!-- 日志路径,这里是相对路径,web项目eclipse下会输出到eclipse的安装目录下,如果部署到linux上的tomcat下,会输出到tomcat/bin目录 下 -->  
  7.     <property name="log.moduleName" value="dubbo-provider" />  <!-- 模块名称, 影响日志配置名,日志文件名 -->  
  8.     <property name="log.max.size" value="20MB" /> <!-- 日志文件大小 -->  
  9.   
  10.     <!--控制台输出 -->  
  11.     <appender name="stdout" class="ch.qos.logback.core.ConsoleAppender">  
  12.         <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">  
  13.             <Pattern>%date{yyyy-MM-dd HH:mm:ss.SSS} %-5level [%thread]%logger{56}.%method:%L -%msg%n</Pattern>  
  14.         </encoder>  
  15.     </appender>  
  16.   
  17.     <!-- 日志文件输出 -->  
  18.     <appender name="file" class="ch.qos.logback.core.rolling.RollingFileAppender">  
  19.         <File>${log.base}/${log.moduleName}.log</File><!-- 设置日志不超过${log.max.size}时的保存路径,注意如果 是web项目会保存到Tomcat的bin目录 下 -->  
  20.         <!-- 滚动记录文件,先将日志记录到指定文件,当符合某个条件时,将日志记录到其他文件。-->  
  21.         <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">  
  22.             <FileNamePattern>${log.base}/archive/${log.moduleName}_all_%d{yyyy-MM-dd}.%i.log.zip  
  23.             </FileNamePattern>  
  24.             <!-- 当天的日志大小 超过${log.max.size}时,压缩日志并保存 -->  
  25.             <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">  
  26.                 <maxFileSize>${log.max.size}</maxFileSize>  
  27.             </timeBasedFileNamingAndTriggeringPolicy>  
  28.         </rollingPolicy>  
  29.         <!-- 日志输出的文件的格式  -->  
  30.         <layout class="ch.qos.logback.classic.PatternLayout">  
  31.             <pattern>%date{yyyy-MM-dd HH:mm:ss.SSS} %-5level [%thread]%logger{56}.%method:%L -%msg%n</pattern>  
  32.         </layout>  
  33.     </appender>  
  34.   
  35.     <!-- 为某个包下的所有类的指定Appender 这里也可以指定类名称例如:com.aa.bb.ClassName -->  
  36.     <logger name="com.dubbo.provider" additivity="false">  
  37.         <level value="debug" />  
  38.         <appender-ref ref="stdout" />  
  39.         <appender-ref ref="file" />  
  40.     </logger>  
  41.     <!-- root将级别为“DEBUG”及大于“DEBUG”的日志信息交给已经配置好的名为“Console”的appender处理,“Console”appender将信息打印到Console -->  
  42.     <root level="debug">  
  43.         <appender-ref ref="stdout" /> <!-- 标识这个appender将会添加到这个logger -->  
  44.         <appender-ref ref="file" />  
  45.     </root>  
  46. </configuration>  
3、启动项目,如果有输出日志则说明配置成功,可以根据项目需求修改logback.xml参数


猜你喜欢

转载自blog.csdn.net/qq_39181017/article/details/80499673