springmvc 集成slf4j + logback

  1. 排除commons-logging 依赖
<dependency>
    <groupId>org.springframeworkgroupId>
    <artifactId>spring-webmvcartifactId>
    <version>5.1.0.RELEASEversion>
    <exclusions>
        <exclusion>
        <groupId>commons-logginggroupId>
        <artifactId>commons-loggingartifactId>
        exclusion>
    exclusions>
dependency>

        <dependency>
            <groupId>org.slf4jgroupId>
            <artifactId>jcl-over-slf4jartifactId>
            <version>1.7.25version>
        dependency>

暂时还未找到查看排除是否成功的方法,以上两步配合才能保证排除spring 默认使用的日志框架

  1. 添加slf4j 与 logback依赖
        
            
            
            
        
<dependency>
    <groupId>ch.qos.logbackgroupId>
    <artifactId>logback-classicartifactId>
    <version>1.2.3version>
dependency>

logback 包含classic,core,access三个模块,classic和access依赖core模块,slf4j-api 也可以省略,因为classic 模块会依赖到

  1. 在classpath 根路径下创建logback.xml 配置文件

<configuration>

    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
        <layout class="ch.qos.logback.classic.PatternLayout">
            <Pattern>
                %d{yyyy-MM-dd HH:mm:ss} %-5level %logger{36} - %msg%n
            Pattern>
        layout>
    appender>

    <logger name="org.springframework" level="debug" additivity="false">
        <appender-ref ref="STDOUT" />
    logger>
    

    <root level="debug">
        <appender-ref ref="STDOUT" />
    root>

configuration>

配置文件的编写,详情参考网上资料,additivity=“false” 若指定为true,则会导致日志重复输出,

root level=“debug” 这个设置表示日志的输出级别

  1. 集成到spring中(即替换掉spring中默认的日志框架)
  • 加入依赖
        <dependency>
            <groupId>org.logback-extensionsgroupId>
            <artifactId>logback-ext-springartifactId>
            <version>0.1.2version>
        dependency>
  • 在web.xml 文件中加入监听器和全局参数设置
  <context-param>
    <param-name>logbackConfigLocationparam-name>
    <param-value>classpath:logback.xmlparam-value>
  context-param>
  
  <listener>
    <listener-class>ch.qos.logback.ext.spring.web.LogbackConfigListenerlistener-class>
  listener>
  1. 使用
Logger logger = (Logger) LoggerFactory.getLogger(WorkerController.class);
logger.debug("测试logback");
logger.error("测试测试测试");

参考链接:

http://www.mkyong.com/spring-mvc/spring-mvc-logback-slf4j-example/

https://blog.csdn.net/sadfishsc/article/details/47160213

你可能感兴趣的:(SpringMVC)