Java日志框架-Spring中使用Logback(Spring/Spring MVC)


繼上一篇文章http://www.cnblogs.com/EasonJim/p/7800880.html中所集成的是基於Java的普通項目,如果要在Spring和Spring MVC上集成,需要做如下處理:

一、Spring

POM:

        <!-- Logback -->
        <!-- https://mvnrepository.com/artifact/ch.qos.logback/logback-classic -->
        <dependency>
            <groupId>ch.qos.logback</groupId>
            <artifactId>logback-classic</artifactId>
            <version>1.2.3</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/ch.qos.logback/logback-core -->
        <dependency>
            <groupId>ch.qos.logback</groupId>
            <artifactId>logback-core</artifactId>
            <version>1.2.3</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/org.logback-extensions/logback-ext-spring -->
        <dependency>
            <groupId>org.logback-extensions</groupId>
            <artifactId>logback-ext-spring</artifactId>
            <version>0.1.4</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/org.slf4j/slf4j-api -->
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
            <version>1.7.25</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/org.slf4j/jcl-over-slf4j -->
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>jcl-over-slf4j</artifactId>
            <version>1.7.25</version>
        </dependency>

其中logback-ext-spring這個JAR包是為了和Spring一起使用。jcl-over-slf4j:commons-logging到slf4j的橋梁

此時不需要設置logback.xml也可以輸出日志。

示例工程:https://github.com/easonjim/5_java_example/tree/master/springtest/test22/HelloSpring

二、Spring MVC

POM和上面一樣,關鍵的點在於配置web.xml中的Listen,並且指定一個logback.xml文件

logback.xml:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <!-- 控制台輸出 -->   
    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
       <!-- 日志輸出編碼 -->  
       <Encoding>UTF-8</Encoding>   
        <layout class="ch.qos.logback.classic.PatternLayout">   
             <!--格式化輸出:%d表示日期,%thread表示線程名,%-5level:級別從左顯示5個字符寬度%msg:日志消息,%n是換行符--> 
            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n   
            </pattern>   
        </layout>   
    </appender>   
    <!-- 日志輸出級別 -->
    <root level="INFO">   
        <appender-ref ref="STDOUT" />   
    </root> 
</configuration>

web.xml:

<?xml version="1.0" encoding="UTF-8"?>
<!-- 配置XML模式 -->
<web-app id="WebApp_ID" version="3.1"
         xmlns="http://java.sun.com/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
            xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
                                 http://java.sun.com/xml/ns/javaee/web-app_3_1.xsd">
                                 
    <display-name>Archetype Created Web Application</display-name>
  
    <!-- 配置Servlet,Spring接管 -->
    <servlet>
        <servlet-name>SrpingMVCTest</servlet-name>
            <servlet-class>
               org.springframework.web.servlet.DispatcherServlet
            </servlet-class>
        <load-on-startup>1</load-on-startup>
     </servlet>

    <!-- 配置Servlet,Spring接管 -->
    <servlet-mapping>
        <servlet-name>SrpingMVCTest</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>
    
 <!-- 添加日志監聽器 --> <context-param> <param-name>logbackConfigLocation</param-name> <param-value>classpath:logback.xml</param-value> </context-param> <listener> <listener-class>ch.qos.logback.ext.spring.web.LogbackConfigListener</listener-class> </listener> 
  
</web-app>

配置完之后就可以輸出日志。

實例工程:https://github.com/easonjim/5_java_example/tree/master/springmvc/tutorialspoint/test34/test1

 

 

參考:

http://blog.csdn.net/evankaka/article/details/50637994


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM