麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 開發(fā) > Java > 正文

Spring Boot整合logback一個(gè)簡單的日志集成架構(gòu)

2024-07-14 08:43:27
字體:
供稿:網(wǎng)友

一、業(yè)務(wù)需求

在項(xiàng)目開發(fā)和運(yùn)維過程中需要通過日志來分析問題,解決問題以保證項(xiàng)目的正常運(yùn)行。通過SpringBoot自帶的日志管理相對(duì)比較簡單,已無法滿足日常的運(yùn)維需求,需要對(duì)日志文件進(jìn)行分時(shí)分類管理,剛好通過學(xué)習(xí)接觸到了logback日志系統(tǒng)。因此便決定將其加入到項(xiàng)目框架之中。

二、logback簡介

至于簡介,可自行網(wǎng)上查閱相關(guān)文檔文獻(xiàn),這里不做詳細(xì)描述,畢竟不是本文主要目的。只需理解它很好的實(shí)現(xiàn)了slf4j,是log4j的再發(fā)展即可。

三、具體實(shí)施方案(僅供參考)

1、引入依賴包

其實(shí)不需要引入任何依賴,Spring Boot 都為我們做好了(不得不感嘆技術(shù)的強(qiáng)大與發(fā)展之快,不管是好是壞,可以很好的提高開發(fā)效率)。

2、配置文件

特別說明:這里logback.xml不是在默認(rèn)的 src/main/resources 目錄下因此需要在application.properties里配置路徑,由于項(xiàng)目是通過Spring Cloud Config管理的配置文件,但是配置內(nèi)容都一樣,只需在配置文件中加入以下配置即可:

logging.config=classpath:log/logback.xml

2.1 屬性文件

/src/main/resources/log/logback.properties

說明:定義日志輸出位置、文件大小、保存時(shí)間和日志級(jí)別。

此文件也可通過Spring Cloud Config管理,這里不做詳細(xì)說明了,解題思路可以參看《Servlet+MyBatis項(xiàng)目轉(zhuǎn)Spring Cloud微服務(wù),多數(shù)據(jù)源配置修改建議》http://www.companysz.com/kaifa/java/344044.html

logback.path=.logback.maxFileSize=50MBlogback.maxHistory=30logback.level=INFO

2.2 xml文件

/src/main/resources/log/logback.xml

說明:可看文件中注釋,根據(jù)需求做相應(yīng)調(diào)整。

<?xml version="1.0" encoding="UTF-8"?><!-- 日志級(jí)別從低到高分為TRACE < DEBUG < INFO < WARN < ERROR < FATAL,如果設(shè)置為WARN,則低于WARN的信息都不會(huì)輸出 --><!-- scan:當(dāng)此屬性設(shè)置為true時(shí),配置文件如果發(fā)生改變,將會(huì)被重新加載,默認(rèn)值為true --><!-- scanPeriod:設(shè)置監(jiān)測配置文件是否有修改的時(shí)間間隔,如果沒有給出時(shí)間單位,默認(rèn)單位是毫秒。當(dāng)scan為true時(shí),此屬性生效。默認(rèn)的時(shí)間間隔為1分鐘。 --><!-- debug:當(dāng)此屬性設(shè)置為true時(shí),將打印出logback內(nèi)部日志信息,實(shí)時(shí)查看logback運(yùn)行狀態(tài)。默認(rèn)值為false。 --><configuration scan="true" scanPeriod="10 seconds">  <property resource="log/logback.properties" />  <!--輸出到控制臺(tái)-->  <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">    <!--此日志appender是為開發(fā)使用,只配置最底級(jí)別,控制臺(tái)輸出的日志級(jí)別是大于或等于此級(jí)別的日志信息-->    <filter class="ch.qos.logback.classic.filter.ThresholdFilter">      <level>info</level>    </filter>    <encoder>      <!--格式化輸出:%d表示日期,%thread表示線程名,%-5level:級(jí)別從左顯示5個(gè)字符寬度,%line:行號(hào),%msg:日志消息,%n是換行符-->      <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level [%logger{50}] - %msg%n</pattern>      <!-- 設(shè)置字符集 -->      <charset>UTF-8</charset>    </encoder>  </appender>  <!--輸出到文件-->  <!-- 時(shí)間滾動(dòng)輸出 level為 ${logback.level} 日志 -->  <appender name="STDOUT" class="ch.qos.logback.core.rolling.RollingFileAppender">    <!-- 正在記錄的日志文件的路徑及文件名 -->    <file>${logback.path}/log_${logback.level}.log</file>    <!--日志文件輸出格式-->    <encoder>      <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level [%logger{50}] - %msg%n</pattern>      <charset>UTF-8</charset> <!-- 設(shè)置字符集 -->    </encoder>    <!-- 日志記錄器的滾動(dòng)策略,按日期,按大小記錄 -->    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">      <!-- 日志歸檔 -->      <fileNamePattern>${logback.path}/${logback.level}/log-${logback.level}-%d{yyyy-MM-dd}.%i.log</fileNamePattern>      <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">        <maxFileSize>${logback.maxFileSize}</maxFileSize>      </timeBasedFileNamingAndTriggeringPolicy>      <!--日志文件保留天數(shù)-->      <maxHistory>${logback.maxHistory}</maxHistory>    </rollingPolicy>    <!-- 此日志文件只記錄${logback.level}級(jí)別的 -->    <filter class="ch.qos.logback.classic.filter.LevelFilter">      <level>${logback.level}</level>      <onMatch>ACCEPT</onMatch>      <onMismatch>DENY</onMismatch>    </filter>  </appender>  <!--    <logger>用來設(shè)置某一個(gè)包或者具體的某一個(gè)類的日志打印級(jí)別、    以及指定<appender>。<logger>僅有一個(gè)name屬性,    一個(gè)可選的level和一個(gè)可選的addtivity屬性。    name:用來指定受此logger約束的某一個(gè)包或者具體的某一個(gè)類。    level:用來設(shè)置打印級(jí)別,大小寫無關(guān):TRACE, DEBUG, INFO, WARN, ERROR, ALL 和 OFF,       還有一個(gè)特俗值INHERITED或者同義詞NULL,代表強(qiáng)制執(zhí)行上級(jí)的級(jí)別。       如果未設(shè)置此屬性,那么當(dāng)前l(fā)ogger將會(huì)繼承上級(jí)的級(jí)別。    addtivity:是否向上級(jí)logger傳遞打印信息。默認(rèn)是true。  -->  <!--<logger name="org.springframework.web" level="info"/>  <logger name="org.springframework.scheduling.annotation.ScheduledAnnotationBeanPostProcessor" level="INFO"/>-->  <!--    root節(jié)點(diǎn)是必選節(jié)點(diǎn),用來指定最基礎(chǔ)的日志輸出級(jí)別,只有一個(gè)level屬性    level:用來設(shè)置打印級(jí)別,大小寫無關(guān):TRACE, DEBUG, INFO, WARN, ERROR, ALL 和 OFF,    不能設(shè)置為INHERITED或者同義詞NULL。默認(rèn)是DEBUG    可以包含零個(gè)或多個(gè)元素,標(biāo)識(shí)這個(gè)appender將會(huì)添加到這個(gè)logger。  -->  <root level="${logback.level}">    <appender-ref ref="CONSOLE" />    <appender-ref ref="STDOUT" />  </root>  <!--開發(fā)環(huán)境:打印控制臺(tái)-->  <!-- <springProfile name="dev">     <logger name="team.biteeny" level="debug"/>   </springProfile>-->  <!--生產(chǎn)環(huán)境:輸出到文件-->  <!--<springProfile name="pro">-->  <!--<root level="info">-->  <!--<appender-ref ref="CONSOLE" />-->  <!--<appender-ref ref="DEBUG_FILE" />-->  <!--<appender-ref ref="INFO_FILE" />-->  <!--<appender-ref ref="ERROR_FILE" />-->  <!--<appender-ref ref="WARN_FILE" />-->  <!--</root>-->  <!--</springProfile>--></configuration>

通過以上步驟即可完成logback日志系統(tǒng)的簡單集成,可以做到分時(shí)分文件大小以及備份保留時(shí)間等日志的輸出管理。

如果想需要調(diào)試輸出一些日志信息,只需在相應(yīng)的類中加入類代碼即可:

private static final Logger log = LoggerFactory.getLogger(ClassName.class);// 需要輸出的日志位置log.info("日志信息");log.error("日志信息");……

四、小結(jié)

以上只是對(duì)日志系統(tǒng)的簡單應(yīng)用,這其中的妙處可能還沒有完全體會(huì),把實(shí)施過程記錄于此,希望拋磚引玉為大家提供一條解題思路。

有不到之處請(qǐng)大家前來指正,把技術(shù)死磕到底!

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)VeVb武林網(wǎng)的支持。


注:相關(guān)教程知識(shí)閱讀請(qǐng)移步到JAVA教程頻道。
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 国产欧美精品一区二区三区四区 | h久久| 久久老司机精品视频 | 毛片毛片免费看 | 久久影院yy6080| 日韩精品久久久久久久九岛 | 黄色网址在线免费 | 国产一区二区亚洲 | 成人三级视频网站 | 日韩av有码在线 | 爱高潮www亚洲精品 国产精品一区自拍 | 欧美a视频在线观看 | 1级黄色毛片 | 久久老司机精品视频 | 成人午夜一区二区 | 一区二区久久精品66国产精品 | 欧美日韩爱爱视频 | 久久我不卡 | 亚洲精品在线观看免费 | 蜜桃视频在线观看免费 | 中文字幕免费一区 | 91在线视频观看 | 伊人亚洲精品 | 久久久久电影网站 | 成人男男视频拍拍拍在线观看 | 在线观看国产一区二区三区 | 日韩欧美电影一区二区三区 | 国产午夜精品久久久久婷 | 男女无套免费视频 | 视频国产一区二区 | 国产妇女乱码一区二区三区 | 日本精品久久久一区二区三区 | 性视频久久 | 国产精品久久久久久久成人午夜 | 在线观看福利网站 | 黄视频网站免费 | 日日鲁一鲁视频 | 国产欧美亚洲精品a | 精品免费久久 | 免费在线看a | 久久久久久麻豆 |