国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

springboot+mybatis 配置 logback 日志 并打印sql

這篇具有很好參考價值的文章主要介紹了springboot+mybatis 配置 logback 日志 并打印sql。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

提示:文章寫完后,目錄可以自動生成,如何生成可參考右邊的幫助文檔


logback 日志

springboot + logback 日志


提示:以下是本篇文章正文內(nèi)容,下面案例可供參考

logback-spring.xml 文件

` 使用時注意:

  1. 配置日志文件保存路徑 默認用戶目錄
  2. 自定義指定需要打印日志的文件路徑
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <!-- 默認的一些配置 -->
    <include resource="org/springframework/boot/logging/logback/defaults.xml"/>

       <!-- 定義應(yīng)用名稱,區(qū)分應(yīng)用 -->
    <property name="APP_NAME" value="logback-test"/>
        <!-- 定義日志文件的輸出路徑 -->
    <property name="LOG_PATH" value="${user.home}/logs/${APP_NAME}"/>

        <!-- 定義日志文件名稱和路徑 -->
    <property name="LOG_FILE" value="${LOG_PATH}/application.log"/>
    <!-- 定義警告級別日志文件名稱和路徑 -->
    <property name="WARN_LOG_FILE" value="${LOG_PATH}/warn.log"/>
    <!-- 定義錯誤級別日志文件名稱和路徑 -->
    <property name="ERROR_LOG_FILE" value="${LOG_PATH}/error.log"/>
    <!-- 定義錯誤級別日志文件名稱和路徑 -->
    <property name="DEBUG_LOG_FILE" value="${LOG_PATH}/debug.log"/>

    <!-- 定義指定目錄service日志文件名稱和路徑 -->
    <property name="SERVICE_LOG_FILE" value="${LOG_PATH}/service.log"/>
    <!-- 定義指定目錄HTTP日志文件名稱和路徑 -->
    <property name="HTTP_PACKAGE_LOG_FILE" value="${LOG_PATH}/http-package.log"/>
    <!-- 定義指定類topic方式的日志文件名稱和路徑 -->
    <property name="HTTP_TOPIC_LOG_FILE" value="${LOG_PATH}/http-topic.log"/>

    <!-- 自定義控制臺打印格式 -->
    <property name="FILE_LOG_PATTERN" value="%green(%d{yyyy-MM-dd HH:mm:ss.SSS}) [%blue(traceId: %X{traceId})] [%highlight(%thread)] ${PID:- } %logger{36} %-5level - %msg%n"/>




    <!-- 將日志滾動輸出到application.log文件中 -->
    <appender name="APPLICATION"
              class="ch.qos.logback.core.rolling.RollingFileAppender">
        <!-- 輸出文件目的地 -->
        <file>${LOG_FILE}</file>
        <encoder>
            <!-- 使用默認的輸出格式打印 -->
            <pattern>${CONSOLE_LOG_PATTERN}</pattern>
            <charset>utf8</charset>
        </encoder>

        <!-- 設(shè)置 RollingPolicy 屬性,用于配置文件大小限制,保留天數(shù)、文件名格式 -->
        <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
            <!-- 文件命名格式 -->
            <fileNamePattern>${LOG_FILE}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
            <!-- 文件保留最大天數(shù) -->
            <maxHistory>7</maxHistory>
            <!-- 文件大小限制 -->
            <maxFileSize>50MB</maxFileSize>
            <!-- 文件總大小 -->
            <totalSizeCap>500MB</totalSizeCap>
        </rollingPolicy>
    </appender>


    <!-- 摘取出WARN級別日志輸出到warn.log中 -->
    <appender name="WARN" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <file>${WARN_LOG_FILE}</file>
        <encoder>
            <!-- 使用默認的輸出格式打印 -->
            <pattern>${CONSOLE_LOG_PATTERN}</pattern>
            <charset>utf8</charset>
        </encoder>
        <!-- 設(shè)置 RollingPolicy 屬性,用于配置文件大小限制,保留天數(shù)、文件名格式 -->
        <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
            <!-- 文件命名格式 -->
            <fileNamePattern>${LOG_PATH}/warn.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
            <!-- 文件保留最大天數(shù) -->
            <maxHistory>7</maxHistory>
            <!-- 文件大小限制 -->
            <maxFileSize>50MB</maxFileSize>
            <!-- 文件總大小 -->
            <totalSizeCap>500MB</totalSizeCap>
        </rollingPolicy>
        <!-- 日志過濾器,將WARN相關(guān)日志過濾出來 -->
        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
            <level>WARN</level>
        </filter>
    </appender>

    <!-- 摘取出ERROR級別日志輸出到error.log中 -->
    <appender name="ERROR" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <file>${ERROR_LOG_FILE}</file>
        <encoder>
            <!-- 使用默認的輸出格式打印 -->
            <pattern>${CONSOLE_LOG_PATTERN}</pattern>
            <charset>utf8</charset>
        </encoder>
        <!-- 設(shè)置 RollingPolicy 屬性,用于配置文件大小限制,保留天數(shù)、文件名格式 -->
        <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
            <!-- 文件命名格式 -->
            <fileNamePattern>${LOG_PATH}/error.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
            <!-- 文件保留最大天數(shù) -->
            <maxHistory>7</maxHistory>
            <!-- 文件大小限制 -->
            <maxFileSize>50MB</maxFileSize>
            <!-- 文件總大小 -->
            <totalSizeCap>500MB</totalSizeCap>
        </rollingPolicy>
        <!-- 日志過濾器,將ERROR相關(guān)日志過濾出來 -->
        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
            <level>ERROR</level>
        </filter>
    </appender>

    <!-- 摘取出ERROR級別日志輸出到Debug.log中 -->
    <appender name="DEBUG" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <file>${DEBUG_LOG_FILE}</file>
        <encoder>
            <!-- 使用默認的輸出格式打印 -->
            <pattern>${CONSOLE_LOG_PATTERN}</pattern>
            <charset>utf8</charset>
        </encoder>
        <!-- 設(shè)置 RollingPolicy 屬性,用于配置文件大小限制,保留天數(shù)、文件名格式 -->
        <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
            <!-- 文件命名格式 -->
            <fileNamePattern>${LOG_PATH}/debug.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
            <!-- 文件保留最大天數(shù) -->
            <maxHistory>7</maxHistory>
            <!-- 文件大小限制 -->
            <maxFileSize>50MB</maxFileSize>
            <!-- 文件總大小 -->
            <totalSizeCap>500MB</totalSizeCap>
        </rollingPolicy>
        <!-- 日志過濾器,將ERROR相關(guān)日志過濾出來 -->
        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
            <level>DEBUG</level>
        </filter>
    </appender>


    <!-- 配置控制臺輸出 -->
    <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <!-- 配置日志打印格式 -->
<!--            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] ${PID:- } %logger{36} %-5level - %msg%n</pattern>-->
            <!-- 使用默認的輸出格式打印 -->
            <pattern>${CONSOLE_LOG_PATTERN}</pattern>
            <charset>utf8</charset>
        </encoder>
    </appender>

    <!-- 定義指定目錄service的appender -->
    <appender name="SERVICE" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <file>${SERVICE_LOG_FILE}</file>
        <encoder>
            <!-- 使用默認的輸出格式打印 -->
            <pattern>${CONSOLE_LOG_PATTERN}</pattern>
            <charset>utf8</charset>
        </encoder>
        <!-- 設(shè)置 RollingPolicy 屬性,用于配置文件大小限制,保留天數(shù)、文件名格式 -->
        <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
            <!-- 文件命名格式 -->
            <fileNamePattern>${LOG_PATH}/service.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
            <!-- 文件保留最大天數(shù) -->
            <maxHistory>7</maxHistory>
            <!-- 文件大小限制 -->
            <maxFileSize>50MB</maxFileSize>
            <!-- 文件總大小 -->
            <totalSizeCap>500MB</totalSizeCap>
        </rollingPolicy>
    </appender>

    <!-- 定義指定目錄HTTP-PACKAGE的appender -->
    <appender name="HTTP-PACKAGE" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <file>${HTTP_PACKAGE_LOG_FILE}</file>
        <encoder>
            <!-- 使用默認的輸出格式打印 -->
            <pattern>${CONSOLE_LOG_PATTERN}</pattern>
            <charset>utf8</charset>
        </encoder>
        <!-- 設(shè)置 RollingPolicy 屬性,用于配置文件大小限制,保留天數(shù)、文件名格式 -->
        <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
            <!-- 文件命名格式 -->
            <fileNamePattern>${LOG_PATH}/http-package.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
            <!-- 文件保留最大天數(shù) -->
            <maxHistory>7</maxHistory>
            <!-- 文件大小限制 -->
            <maxFileSize>50MB</maxFileSize>
            <!-- 文件總大小 -->
            <totalSizeCap>500MB</totalSizeCap>
        </rollingPolicy>
    </appender>

    <!-- 定義指定類topic的appender -->
    <appender name="HTTP-TOPIC" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <file>${HTTP_TOPIC_LOG_FILE}</file>
        <encoder>
            <!-- 使用默認的輸出格式打印 -->
<!--            <pattern>${CONSOLE_LOG_PATTERN}</pattern>-->
            <pattern>${FILE_LOG_PATTERN}</pattern>
            <charset>utf8</charset>
        </encoder>
        <!-- 設(shè)置 RollingPolicy 屬性,用于配置文件大小限制,保留天數(shù)、文件名格式 -->
        <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
            <!-- 文件命名格式 -->
            <fileNamePattern>${LOG_PATH}/http-topic.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
            <!-- 文件保留最大天數(shù) -->
            <maxHistory>7</maxHistory>
            <!-- 文件大小限制 -->
            <maxFileSize>50MB</maxFileSize>
            <!-- 文件總大小 -->
            <totalSizeCap>500MB</totalSizeCap>
        </rollingPolicy>
    </appender>

<!--    打印 sql  -->

    <appender name="APP_SQL" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <!--活動日志輸出路徑示例-->
        <file>${LOG_PATH}/sql.log</file>
        <append>true</append>
        <filter class="ch.qos.logback.classic.filter.LevelFilter">
            <level>DEBUG</level>
            <!-- onMatch:意思是當(dāng)前級別以及以上要怎么處理 -->
            <onMatch>ACCEPT</onMatch>
            <!-- onMismatch:意思是當(dāng)前級別(不包括當(dāng)前級別)以下要怎么處理 -->
            <onMismatch>DENY</onMismatch>
        </filter>
        <!--存檔日志示例-->
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <fileNamePattern>${log.path}/%d{yyyy-MM-dd}/sql.%i.log
            </fileNamePattern>
            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                <!--日志大小可自定義-->
                <maxFileSize>100MB</maxFileSize>
            </timeBasedFileNamingAndTriggeringPolicy>
            <!--存檔天數(shù)可自定義-->
            <maxHistory>90</maxHistory>
        </rollingPolicy>
        <!--統(tǒng)一日志輸出格式-->
        <encoder charset="UTF-8">
            <pattern>%date [%thread] %-5level %logger [%L] - %msg%n</pattern>
        </encoder>
    </appender>

    <!-- 配置掃描包路徑,追加日志到service的appender中 -->
    <!--若是additivity設(shè)為true,則子Logger不止會在自己的appender里輸出,還會在root的logger的appender里輸出-->
    <logger name="com.ycy.service.UserService" level="INFO" additivity="true">
        <appender-ref ref="SERVICE"/>
    </logger>

    <!-- 配置掃描包路徑,追加日志到HTTP-PACKAGE的appender中 -->
    <!--若是additivity設(shè)為true,則子Logger不止會在自己的appender里輸出,還會在root的logger的appender里輸出-->
    <logger name="com.ycy.config" level="INFO" additivity="false">
        <appender-ref ref="HTTP-PACKAGE"/>
    </logger>

    <!-- 配置掃描包路徑,追加日志到HTTP-TOPIC的appender中 -->
    <!--若是additivity設(shè)為true,則子Logger不止會在自己的appender里輸出,還會在root的logger的appender里輸出-->
    <logger name="http-log" level="INFO" additivity="false">
        <appender-ref ref="HTTP-TOPIC"/>
    </logger>


    <!--
        <logger>用來設(shè)置某一個包或者具體的某一個類的日志打印級別、以及指定<appender>。
        <logger>僅有一個name屬性,
        一個可選的level和一個可選的addtivity屬性。
        name:用來指定受此logger約束的某一個包或者具體的某一個類。
        level:用來設(shè)置打印級別,大小寫無關(guān):TRACE, DEBUG, INFO, WARN, ERROR, ALL 和 OFF,
              如果未設(shè)置此屬性,那么當(dāng)前l(fā)ogger將會繼承上級的級別。
    -->
    <!--
        使用mybatis的時候,sql語句是debug下才會打印,而這里我們只配置了info,所以想要查看sql語句的話,有以下兩種操作:
        第一種把<root level="INFO">改成<root level="DEBUG">這樣就會打印sql,不過這樣日志那邊會出現(xiàn)很多其他消息
        第二種就是單獨給mapper下目錄配置DEBUG模式,代碼如下,這樣配置sql語句會打印,其他還是正常DEBUG級別:
     -->
    <springProfile name="test">
        <!--可以輸出項目中的debug日志,包括mybatis的sql日志-->
        <logger name="com.ycy.mapper" level="DEBUG" additivity="false">
            <appender-ref ref="CONSOLE"/>
            <appender-ref ref="APP_SQL"/>
        </logger>
    </springProfile>


    <!-- 配置輸出級別,加入輸出方式 -->
    <root level="INFO">
        <appender-ref ref="CONSOLE"/>
        <!-- 加入APPLICATION輸出 -->
        <appender-ref ref="APPLICATION"/>
        <!-- 加入WARN日志輸出 -->
        <appender-ref ref="WARN"/>
        <!-- 加入ERROR日志輸出 -->
        <appender-ref ref="ERROR"/>
        <!-- 加入ERROR日志輸出 -->
        <appender-ref ref="DEBUG"/>

    </root>
</configuration>

參考連接:
很詳細 是干貨
SpringBoot項目從0到1配置logback日志打印
打印 sql
springboot整合logback分文件輸出sql,error等內(nèi)容文章來源地址http://www.zghlxwxcb.cn/news/detail-825991.html

到了這里,關(guān)于springboot+mybatis 配置 logback 日志 并打印sql的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • springboot 日志配置(logback)

    springboot 日志配置(logback)

    Java 中的日志框架主要分為兩大類: 日志門面 和 日志實現(xiàn) 。 Java 中的日志體系: 日志門面 日志門面定義了一組日志的接口規(guī)范,它并不提供底層具體的實現(xiàn)邏輯。 Apache Commons Logging 和 Slf4j ( Simple Logging Facade for Java 簡單日志門面) 就屬于這一類。 日志門面的作用:解決系

    2024年02月09日
    瀏覽(25)
  • springboot中l(wèi)ogback日志配置

    Spring Boot使用Apache的Commons Logging作為內(nèi)部的日志框架,其僅僅是一個日志接口,在實際應(yīng)用中需要為該接口來指定相應(yīng)的日志實現(xiàn)。 Spring Boot從1.4版本開始內(nèi)置的日志框架就是Logback;Spring Boot 2.x 默認采用了slf4j+logback的形式,slf4j也是個通用的日志門面。 SpringBoot可以適配所有

    2024年02月16日
    瀏覽(25)
  • SpringBoot多環(huán)境配置與添加logback日志

    SpringBoot多環(huán)境配置與添加logback日志

    一個項目會有多個運行環(huán)境 所以SpringBoot提供了可以適應(yīng)多個環(huán)境的配置文件 ?每個文件對應(yīng)一個端口號 application-dev.yml 開發(fā)環(huán)境 端口8090 application-test.yml 測試環(huán)境 端口8091 application-prod.yml 生產(chǎn)環(huán)境 端口8092 在application中選擇使用哪個端口號 每個文件設(shè)置端口號: 2、添加lo

    2024年01月17日
    瀏覽(39)
  • SpringBoot整合Logback日志框架配置全解析

    SpringBoot整合Logback日志框架配置全解析

    SpringBoot使用?Commons Logging?進行所有內(nèi)部日志的記錄,但默認配置也提供了對常用日志的支持,如?Java Util Logging,Log4J2,和Logback. 每種logger都可以通過配置使用控制臺或文件輸出日志內(nèi)容。 Logback是log4j框架的作者開發(fā)的新一代日志框架,它效率更高、能夠適應(yīng)諸多的運行環(huán)境

    2024年02月02日
    瀏覽(23)
  • 6.3 SpringBoot日志進階實戰(zhàn) Logback配置詳解

    6.3 SpringBoot日志進階實戰(zhàn) Logback配置詳解

    在上一篇文章中,我和你介紹了SpringBoot快速入門Slf4j + Logback實戰(zhàn),遺留的問題是如何將日志輸出到文件。 今天這篇文章分享了我在SpringBoot中使用Logback配置日志的經(jīng)驗和方法,并提供了詳細的代碼示例和解釋,包括: 滾動文件、異步日志記錄、動態(tài)指定屬性、日志級別、配

    2024年02月07日
    瀏覽(32)
  • springboot Logback 不同環(huán)境,配置不同的日志輸出路徑

    springboot Logback 不同環(huán)境,配置不同的日志輸出路徑

    mac 筆記本開發(fā),日志文件寫到/data/logs/下,控制臺報出:Failed to create parent directories for [/data/logs/........... 再去手動在命令窗口創(chuàng)建文件夾data,報Read-only file system resource 目錄下的配置文件列表: 在logback-spring.xml添加配置, 只有l(wèi)ocal寫到當(dāng)前項目下的data目錄,其他環(huán)境寫到系統(tǒng)

    2024年04月23日
    瀏覽(25)
  • springboot 下mybatis-plus 如何打印sql日志和參數(shù)到日志文件

    網(wǎng)上很多說法打印sql日志的方法在application.properties配置文件中 但是上述配置只能將sql日志打印到控制臺,無法打印到日志文件中 參考下面這個文檔,將sql日志打印到日志文件中 https://www.ius7.com/a/305 1:設(shè)置mybatisplus包下的日志級別為DEBUG; 2:設(shè)置項目mapper目錄的日志級別為DE

    2024年02月14日
    瀏覽(19)
  • 【Mybatis小白從0到90%精講】15: Mybatis配置打印SQL日志

    【Mybatis小白從0到90%精講】15: Mybatis配置打印SQL日志

    日志(Log)是每個程序都不可或缺的一部分,它可以幫助開發(fā)人員診斷和調(diào)試問題。Mybatis,作為一款備受贊譽的ORM框架,自然也提供了強大的日志功能。 它不僅提供了 內(nèi)置的標(biāo)準(zhǔn)實現(xiàn) ,還支持 集成各種主流的日志框架 ,讓我們可以輕松地 查看最終執(zhí)行的SQL語句 ,這在進行數(shù)

    2024年02月05日
    瀏覽(22)
  • mybatis plus 控制臺和日志文件中打印sql配置

    配置mybatis-plus的日志實現(xiàn)類為StdOutImpl,該實現(xiàn)類中打印日志是通過 System.out.println(s) 的方式來打印日志的 日志文件中輸入sql需要配置mybatis-plus的日志類為項目中的日志框架實現(xiàn)類,還需要配置mapper接口所在包的日志打印級別為 DEBUG或者TRACE,mybatis提供了log4j、slf4g等實現(xiàn) 經(jīng)測

    2024年02月11日
    瀏覽(108)
  • SpringBoot集成slf4j日志和logback.xml配置詳解

    SpringBoot集成slf4j日志和logback.xml配置詳解

    slf4j,即(Simple Logging Facade for Java,簡單門面日志)。它是對所有日志框架制定的一種 規(guī)范、標(biāo)準(zhǔn)、接口 ,并不是一個框架的具體的實現(xiàn),它只服務(wù)于各種各樣的日志系統(tǒng)。 slf4j提供了統(tǒng)一的記錄日志的接口,對不同日志系統(tǒng)的具體實現(xiàn)進行了抽象化,只要按照其提供的方法記

    2024年02月03日
    瀏覽(42)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包