91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

SpringCloud怎么使用logback日志框架

發布時間:2023-05-05 10:34:15 來源:億速云 閱讀:95 作者:iii 欄目:開發技術

這篇文章主要介紹“SpringCloud怎么使用logback日志框架”,在日常操作中,相信很多人在SpringCloud怎么使用logback日志框架問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”SpringCloud怎么使用logback日志框架”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

    一.依賴引入

    如果項目是spring web項目,并且已經引入了下面依賴,可以直接使用:

    <dependency>
    	<groupId>org.springframework.boot</groupId>
    	<artifactId>spring-boot-starter-web</artifactId>
    </dependency>

    如果你的項目不是web應用,則可以引入依賴:

    <properties>
        <logback.version>1.1.11</logback.version>
    </properties>
    
    <dependency>
        <groupId>ch.qos.logback</groupId>
    	<artifactId>logback-access</artifactId>
    	<version>${logback.version}</version>
    </dependency>
    <dependency>
    <groupId>ch.qos.logback</groupId>
    	<artifactId>logback-classic</artifactId>
    	<version>${logback.version}</version>
    	</dependency>
    <dependency>
    <groupId>ch.qos.logback</groupId>
        <artifactId>logback-core</artifactId>
    	<version>${logback.version}</version>
    </dependency>

    如果你項目中是spring cloud 2.x版本,則logback版本號${logback.version}可以用:

      <version>1.2.3</version>

    Spring Cloud 1.x 依賴的logback-classic版本號是:

      <version>1.1.11</version>

    二.logback-spring.xml配置

    logback-spring.xml命名要加上-spring,表明它是一個專門為Spring應用準備的Logback配置文件,此文件將把Spring的日志信息輸出到Logback的日志系統中,而且這樣才可以使用 <springProfile name="dev">這種根據不同環境切換不同日志輸出規則的配置。

    提供一個完整的配置文件,可以根據自己項目定制配置:

    <?xml version="1.0" encoding="UTF-8"?>
    <configuration debug="false" scan="true" scanPeriod="1 seconds">
    
        <contextName>logback</contextName>
           <!--必須修改:改成你的日志文件名,下面配置表示:在項目啟動目錄下,創建個logs文件夾,并將日志寫入到demo.log文件中-->
        <property name="log.name" value="logs/demo"/>
    
        <!--輸出到控制臺 ConsoleAppender-->
        <appender name="console" class="ch.qos.logback.core.ConsoleAppender">
            <encoder>
                <pattern>%d{HH:mm:ss.SSS} %contextName [%thread] %-5level %logger{36} - %msg%n</pattern>
            </encoder>
        </appender>
    
      <!--必須要配置:下面配置含義,當單個日志文件大小超過100M后,會生成新日志文件,并將舊其按日志進行打包壓縮,當日志總大小超過10G或者日志時間超過7天,就吧最老的日志刪除,避免日志撐爆服務器硬盤導致服務器宕機-->
        <appender name="file" class="ch.qos.logback.core.rolling.RollingFileAppender">
            <file>${log.name}.log</file>
            <!--滾動策略,按照時間滾動 TimeBasedRollingPolicy-->
            <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
                <!--文件路徑,定義了日志的切分方式——把每一天的日志歸檔到一個文件中,以防止日志填滿整個磁盤空間-->
                <FileNamePattern>${log.name}.%d{yyyy-MM-dd}.%i.log.gz</FileNamePattern>
                <!-- 單個日志文件最多 100MB -->
                <maxFileSize>100MB</maxFileSize>
                <!--只保留最近7天的日志-->
                <maxHistory>7</maxHistory>
                <!--用來指定日志文件的上限大小,那么到了這個值,就會刪除舊的日志-->
                <totalSizeCap>10GB</totalSizeCap>
            </rollingPolicy>
            <!--日志輸出編碼格式化-->
            <encoder>
                <charset>UTF-8</charset>
                <pattern>%d [%t] %-5level %logger{36}.%M\(%file:%line\) - %msg%n</pattern>
            </encoder>
        </appender>
    
    <!--  <root level="info">
            <appender-ref ref="console"/>
            <appender-ref ref="file"/>
        </root>-->
    
        <logger name="org.springframework" level="warn"/>
    
        <springProfile name="local">
            <!-- 打印mybatis日志 -->
            <logger name="cn.enn.smart.mapper" level="debug"/>
            <root level="info">
                <appender-ref ref="console"/>
                <!--本地環境時,不寫入日志文件 -->
            </root>
        </springProfile>
    
        <springProfile name="dev">
            <!-- 打印mybatis日志 -->
            <logger name="cn.enn.smart.mapper" level="debug"/>
            <root level="debug">
                <appender-ref ref="console"/>
                <appender-ref ref="file"/>
            </root>
        </springProfile>
    
        <springProfile name="test">
            <!-- 打印mybatis日志 -->
            <logger name="cn.enn.smart.mapper" level="debug"/>
            <root level="info">
                <appender-ref ref="console"/>
                <appender-ref ref="file"/>
            </root>
        </springProfile>
    
        <springProfile name="pro">
            <!-- 打印mybatis日志 -->
            <logger name="cn.enn.smart.mapper" level="debug"/>
            <root level="info">
                <appender-ref ref="console"/>
                <appender-ref ref="file"/>
            </root>
        </springProfile>
    
    </configuration>

    其中要修改配置的地方:

    1.日志文件名要配置,這個最好以自己項目名稱命名,如:xxx.log
    2.日志保留策略要配置,上面默認保留7天并且總日志大小不能超過10G,否則logback會自動刪除
    3.項目配置文件名稱要配置,如果你的配置文件命名是application-local.properties、application-dev.properties、application-test.properties、application-pro.properties可使用上述配置,如果不是則需要按自己配置文件真實后綴名,修改: <springProfile name="local">、 <springProfile name="dev">、 <springProfile name="test">、 <springProfile name="pro">這四行配置。

    三.配置文件application.properties所需配置

    1.配置文件中聲明項目名稱:

    spring.application.name=demo

    2.可以根據不同的配置文件,決定是不是要打印Mybatis日志,配置如下:

    ①.關閉生產Mybatis日志

    修改application-pro.propertities文件,增加配置:

    #關閉Mybatis日志
    mybatis.configuration.log-impl=org.apache.ibatis.logging.nologging.NoLoggingImpl
    ②.打開開發、測試環境Mybatis日志

    application.properties中增加配置:

    #打印Mybatis日志
    mybatis.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl

    四.如果想讓開發、測試、生產等環境共用一套logback配置,可使用logback.xml:

    文件名可直接用logback.xml,不需要用logback-spring.xml來命名了,因為不需要使用 <springProfile name="dev">這種配置來區分環境了。

    <?xml version="1.0" encoding="UTF-8"?>
    <configuration debug="false" scan="true" scanPeriod="1 seconds">
    
        <contextName>logback</contextName>
        <property name="log.name" value="logs/demo"/>
    
        <appender name="console" class="ch.qos.logback.core.ConsoleAppender">
            <encoder>
                <pattern>%d{HH:mm:ss.SSS} %contextName [%thread] %-5level %logger{36} - %msg%n</pattern>
            </encoder>
        </appender>
    
        <appender name="file" class="ch.qos.logback.core.rolling.RollingFileAppender">
            <file>${log.name}.log</file>
            <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
                <FileNamePattern>${log.name}.%d{yyyy-MM-dd}.%i.log.zip</FileNamePattern>
                <!-- 單個日志文件最多 100MB -->
                <maxFileSize>100MB</maxFileSize>
                <!--只保留最近7天的日志-->
                <maxHistory>7</maxHistory>
                <!--用來指定日志文件的上限大小,那么到了這個值,就會刪除舊的日志-->
                <totalSizeCap>10GB</totalSizeCap>
            </rollingPolicy>
            <!--日志輸出編碼格式化-->
            <encoder>
                <charset>UTF-8</charset>
                <pattern>%d [%t] %-5level %logger{36}.%M\(%file:%line\) - %msg%n</pattern>
            </encoder>
        </appender>
    
        <root level="info">
            <appender-ref ref="console"/>
            <appender-ref ref="file"/>
        </root>
    
    </configuration>

    五.如何高效的使用log.debug()打印日志

    log.debug()使用時,最好增加判斷,防止條件不滿足時候,也會執行打印日志的代碼,造成不必要的資源消耗。比如打印日志語句中存在對象轉字符串等操作時,增加判斷后,將不再消耗系統資源。

    if (log.isDebugEnabled()) {
        log.debug("1.完成將文本數據導入到XML文件中");
    }

    到此,關于“SpringCloud怎么使用logback日志框架”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

    向AI問一下細節

    免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

    AI

    昌平区| 建宁县| 屏边| 龙海市| 进贤县| 辽阳县| 东辽县| 枣阳市| 红安县| 嘉善县| 山西省| 江达县| 乌兰浩特市| 冕宁县| 依兰县| 九江市| 黔西县| 马公市| 柘城县| 铜梁县| 栾城县| 盐池县| 平遥县| 阿拉善盟| 分宜县| 南通市| 福清市| 建平县| 台南市| 东乌| 罗定市| 黔江区| 浦东新区| 香港| 临西县| 武功县| 张家界市| 左权县| 西平县| 明光市| 英超|