SpringBoot 6.SpringBoot使用 Log4j2 實現日誌輸出

1、添加 Log4j2 的依賴java

        <!-- 引入 log4j2 必須排除 logging -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-log4j2</artifactId>
        </dependency>

  當咱們引入 log4j2 的時候,須要排除掉 spring-boot-starter-web 中引入的 logging。web

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
            <exclusions>
         <!-- 排除 logging -->
<exclusion> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-logging</artifactId> </exclusion> </exclusions> </dependency>

2、建立 log4j2.xmlspring

<?xml version="1.0" encoding="UTF-8" ?>
<!-- 該xml配置中,xml元素大小寫不敏感 -->
<!-- status="off",log4j2把自身事件記錄到控制檯的配置,off表示不記錄,其他的記錄有trace,debug,info,warn,error,fatal -->
<!-- monitorInterval表示檢測更改配置的時間,單位是秒,最小間隔爲5秒,0或負數表示不檢測 -->
<configuration name="test-cfg" status="off" monitorInterval="0">

    <!-- 常量引用 -->
    <properties>
        <!-- <property name="LOG_HOME">/home/log</property> -->
        <property name="LOG_HOME">D:/log</property>
        <property name="FORMAT">%d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %-5level >>> %logger{36} - %msg%n</property>
    </properties>

    <!-- appender用於接收各類日誌 -->
    <appenders>
        <!-- 常見的輸出到console,經常使用於開發環境中,默認是system_err,還有一個system_out -->
        <console name="console" target="system_out">
            <!-- appender級別的日誌過濾 -->
            <!-- <thresholdFilter level="info" onMatch="accept" onMismatch="deny"/> -->
            <patternLayout pattern="${FORMAT}" />
        </console>
        <!-- 經常使用於開發環境,把日誌記錄到文件中,默認追加 -->
        <file name="file" fileName="${LOG_HOME}/test.log" append="false">
            <patternLayout pattern="${FORMAT}" />
        </file>
    </appenders>

    <!-- 接收appender -->
    <loggers>
        <logger name="org.apache.http" level="WARN" />
        <!-- Spring -->
        <logger name="org.springframework" level="INFO" />
        <!-- mybatis loggers -->
        <logger name="com.ibatis" level="DEBUG" />
        <logger name="com.ibatis.common.jdbc.SimpleDataSource" level="DEBUG" />
        <logger name="com.ibatis.common.jdbc.ScriptRunner" level="DEBUG" />
        <logger name="com.ibatis.sqlmap.engine.impl.SqlMapClientDelegate" level="DEBUG" />
        <!-- sql loggers -->
        <logger name="java.sql.Connection" level="DEBUG"  additivity="true"/>
        <logger name="java.sql.Statement" level="DEBUG" additivity="true" />
        <logger name="java.sql.PreparedStatement" level="DEBUG"  additivity="true"/>
        <logger name="java.sql.ResultSet" level="DEBUG"  additivity="true"/>
        <!-- 對包進行更詳細的配置 -->
        <!-- additivity表示是否追加,防止重複,由於root已經接收過一次了 -->
        <logger name="cn.com.baseos" level="DEBUG" additivity="false">
            <appender-ref ref="console" />
            <appender-ref ref="file" />
        </logger>
        <!-- root logger,通常用於放置全部的appender -->
        <root level="DEBUG">
            <appender-ref ref="console" />
            <appender-ref ref="file" />
        </root>
    </loggers>

</configuration> 
相關文章
相關標籤/搜索