最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Logback日志基礎(chǔ)及自定義配置代碼實例

 更新時間:2020年09月17日 12:01:39   作者:賈樹丙  
這篇文章主要介紹了Logback日志基礎(chǔ)及自定義配置代碼實例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

Logback日志基礎(chǔ)配置

logback日志配置有很多介紹,但是有幾個非?;A(chǔ)的,容易忽略的。下面是最簡單的一個配置,注意加粗的描述

<?xml version="1.0" encoding="UTF-8"?>
<configuration debug="true" scan="true" scanPeriod="30 seconds">

  <!--log.path定義的是局部變量,./logs指定的是相對路徑下的文件夾logs-->
  <property name="log.path" value="./logs"/>

  <appender name="ROLLING-FILE-OUT" class="ch.qos.logback.core.rolling.RollingFileAppender">

    <!--這里的文件名是不能使用正則表達式,只能是定死的名字,實現(xiàn)了很久-->
    <file>${log.path}/errorlog.log</file>

    <!-- 日志輸出格式:%d表示日期時間,%thread表示線程名,%-5level:級別從左顯示5個字符寬度
       %logger{50} 表示logger名字最長50個字符,否則按照句點分割。 %msg:日志消息,%n是換行符 -->
    <encoder>
      <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
    </encoder>

    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
      <!-- 每天日志歸檔路徑以及格式,可以不使用log后綴,%i:當文件大小超過maxFileSize時,按照i進行文件滾動,i從0開始滾動 -->
      <FileNamePattern>${log.pat h}/errorlog.%d{yyyyMMdd}.log.%i.gz</FileNamePattern>
      <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
        <maxFileSize>4096MB</maxFileSize>
      </timeBasedFileNamingAndTriggeringPolicy>
      <!--日志文件保留天數(shù)-->
      <maxHistory>365</maxHistory>
    </rollingPolicy>
  </appender>

  <!-- 日志級別-->
  <root level="debug">   
    <appender-ref ref="ROLLING-FILE-OUT"/>
  </root>

</configuration>

在規(guī)范里,行結(jié)束符往往采用Linux結(jié)束符(\n),而不是上面那樣的 %n。 這個\n ,使用txt文檔查看,并沒有換行

使用%的正則還有許許多多,比如如下:

<property name="CONSOLE_LOG_PATTERN" value="%date{yyyy-MM-dd HH:mm:ss} | %highlight(%-5level) | %yellow(%thread) | %green(%logger) | %msg%n"/>

再比如:%contextName 作用是 顯示主機名

Logback日志自定義配置

即便如此,還是有很多想要的東西顯示不了,這時就可自定義配置。比如我希望每條日志有個uuid類型的id,希望每條日志能打印ip地址

一、新建兩個配置類,重寫convert方法

package cn.jiashubing.config.logback;

import ch.qos.logback.classic.pattern.ClassicConverter;
import ch.qos.logback.classic.spi.ILoggingEvent;
import java.util.UUID;

public class LogIdConfig extends ClassicConverter {

  @Override
  public String convert(ILoggingEvent event) {
    return UUID.randomUUID().toString().replaceAll("-", "");
  }
}


package cn.jiashubing.config.logback;

import ch.qos.logback.classic.pattern.ClassicConverter;
import ch.qos.logback.classic.spi.ILoggingEvent;
import java.net.InetAddress;
import java.net.UnknownHostException;

public class IPLogConfig extends ClassicConverter {

  @Override
  public String convert(ILoggingEvent event) {
    try {
      return InetAddress.getLocalHost().getHostAddress();
    } catch (UnknownHostException e) {
      e.printStackTrace();
    }
    return null;
  }
}

二、配置日志文件

<property name="log.path" value="./logs"/>
<conversionRule conversionWord="ip" converterClass="cn.jiashubing.config.logback.IPLogConfig" />
<conversionRule conversionWord="logid" converterClass="cn.jiashubing.config.logback.LogIdConfig" />

<appender name="ROLLING-FILE-OUT" class="ch.qos.logback.core.rolling.RollingFileAppender">       
  <file>${log.path}/errorlog.log</file>       
  <encoder>           
    <pattern>[loglevel=%level] [timestamp=%d{yyyy-MM-dd HH:mm:ss}] [logid=%logid] [ip=%ip] [cmd=%msg] \n</pattern>       
  </encoder>
  ...
</appender>

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • SpringBoot+Tess4j實現(xiàn)牛的OCR識別工具的示例代碼

    SpringBoot+Tess4j實現(xiàn)牛的OCR識別工具的示例代碼

    這篇文章主要介紹了SpringBoot+Tess4j實現(xiàn)牛的OCR識別工具的示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-01-01
  • java實現(xiàn)從方法返回多個值功能示例

    java實現(xiàn)從方法返回多個值功能示例

    這篇文章主要介紹了java實現(xiàn)從方法返回多個值功能,結(jié)合實例形式分析了集合類、封裝對象、引用傳遞三種實現(xiàn)方法,需要的朋友可以參考下
    2017-10-10
  • springboot?@Async?注解如何實現(xiàn)方法異步

    springboot?@Async?注解如何實現(xiàn)方法異步

    這篇文章主要介紹了springboot?@Async?注解如何實現(xiàn)方法異步,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-11-11
  • SpringBoot使用JUL實現(xiàn)日志記錄功能

    SpringBoot使用JUL實現(xiàn)日志記錄功能

    在SpringBoot中,我們可以使用多種日志框架進行日志記錄,其中,JUL(Java Util Logging)是Java平臺自帶的日志框架,它提供了簡單的 API 和配置,可以輕松地進行日志記錄,本文將介紹如何在 SpringBoot中使用JUL進行日志記錄,并提供示例代碼
    2023-06-06
  • Java打包Jar包后使用腳本執(zhí)行

    Java打包Jar包后使用腳本執(zhí)行

    本文詳細講解了Java打包Jar包后使用腳本執(zhí)行的方法,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-12-12
  • 淺談java的接口和C++虛類的相同和不同之處

    淺談java的接口和C++虛類的相同和不同之處

    下面小編就為大家?guī)硪黄獪\談java的接口和C++虛類的相同和不同之處。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧,祝大家游戲愉快哦
    2016-12-12
  • 關(guān)于Maven生命周期相關(guān)命令演示

    關(guān)于Maven生命周期相關(guān)命令演示

    Maven的生命周期分為Clean、Default和Site三個主要階段,每個階段包含多個關(guān)鍵步驟,如清理、編譯、測試、打包等,通過執(zhí)行相應(yīng)的Maven命令,可以高效地管理和構(gòu)建Java項目
    2025-01-01
  • Spring?Boot?Nacos?實現(xiàn)不停服發(fā)布過程詳解

    Spring?Boot?Nacos?實現(xiàn)不停服發(fā)布過程詳解

    這篇文章主要為大家介紹了Spring?Boot?Nacos實現(xiàn)不停服發(fā)布過程詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-05-05
  • 解決Spring在Thread中注入Bean無效的問題

    解決Spring在Thread中注入Bean無效的問題

    這篇文章主要介紹了解決Spring在Thread中注入Bean無效的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-02-02
  • 解決Java導入excel大量數(shù)據(jù)出現(xiàn)內(nèi)存溢出的問題

    解決Java導入excel大量數(shù)據(jù)出現(xiàn)內(nèi)存溢出的問題

    今天小編就為大家分享一篇解決Java導入excel大量數(shù)據(jù)出現(xiàn)內(nèi)存溢出的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-06-06

最新評論

会东县| 祥云县| 四平市| 雷波县| 清水县| 常山县| 凤庆县| 聊城市| 锡林郭勒盟| 康马县| 景洪市| 甘泉县| 黄山市| 谷城县| 离岛区| 定结县| 金坛市| 东海县| 八宿县| 黎川县| 桂平市| 温泉县| 安仁县| 常宁市| 称多县| 大邑县| 襄汾县| 调兵山市| 宁德市| 和顺县| 高密市| 松阳县| 雷山县| 柳河县| 大港区| 梅州市| 阳山县| 敖汉旗| 南川市| 分宜县| 南投县|