您好,登錄后才能下訂單哦!
這篇文章主要介紹“Linux部署springboot項目彩色日志打印的方法是什么”的相關知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“Linux部署springboot項目彩色日志打印的方法是什么”文章能幫助大家解決問題。
未做處理tail日志log.out文件
tail -f log.out
原色效果圖
tail日志log.out文件
tail -f log.out | perl -pe's/(INFO)|(DEBUG)|(WARN)|(ERROR)|(^[0-9-:.\s]{10,23})|((?<=[OGNR]\s)[0-9]{1,5})|((?<=\[.{15}\]\s).{1,40}(?=\s(:\s)|\s))/\e[1;32m$1\e[0m\e[1;36m$2\e[0m\e[1;33m$3\e[0m\e[1;31m$4\e[0m\e[1;34m$5\e[0m\e[1;35m$6\e[0m\e[1;36m$7\e[0m/g'
彩色效果圖
注意:
通過正則表達式和顏色來對應分配
最新補充:
如果使用的是application.properties進行配置,則需要配置下面項目:
spring.output.ansi.enabled=always # 需要將其設置為always
Spring默認使用Logback來進行日志輸出,同時,控制臺不同參數輸出為不同的顏色,看起來逼格很高。
但是,當我們使用自己默認的配置的時候,彩色消失了。我想,在源碼中,肯定有默認的配置,所以就去源碼中找了一圈,很快就找到了,這里和大家分享下。
默認的配置位置:(SpringBoot 2.1.0 版本)
org.springframework.boot.logging.logback 包下 defaults.xml 文件中,配置了相關屬性。 <included> <conversionRule conversionWord="clr" converterClass="org.springframework.boot.logging.logback.ColorConverter" /> <conversionRule conversionWord="wex" converterClass="org.springframework.boot.logging.logback.WhitespaceThrowableProxyConverter" /> <conversionRule conversionWord="wEx" converterClass="org.springframework.boot.logging.logback.ExtendedWhitespaceThrowableProxyConverter" /> <property name="CONSOLE_LOG_PATTERN" value="${CONSOLE_LOG_PATTERN:-%clr(%d{${LOG_DATEFORMAT_PATTERN:-yyyy-MM-dd HH:mm:ss.SSS}}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}}"/> <property name="FILE_LOG_PATTERN" value="${FILE_LOG_PATTERN:-%d{${LOG_DATEFORMAT_PATTERN:-yyyy-MM-dd HH:mm:ss.SSS}} ${LOG_LEVEL_PATTERN:-%5p} ${PID:- } --- [%t] %-40.40logger{39} : %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}}"/> <logger name="org.apache.catalina.startup.DigesterFactory" level="ERROR"/> <logger name="org.apache.catalina.util.LifecycleBase" level="ERROR"/> <logger name="org.apache.coyote.http11.Http11NioProtocol" level="WARN"/> <logger name="org.apache.sshd.common.util.SecurityUtils" level="WARN"/> <logger name="org.apache.tomcat.util.net.NioSelectorPool" level="WARN"/> <logger name="org.eclipse.jetty.util.component.AbstractLifeCycle" level="ERROR"/> <logger name="org.hibernate.validator.internal.util.Version" level="WARN"/> </included>
我們可以看到,CONSOLE_LOG_PATTERN 參數就是默認的 輸出格式配置。我們可以通過在application.properties文件中修改屬性logging.pattern.console屬性,來定制自己需要的彩色輸出。
這里,分享一下我自己修改的日志輸出格式:
logging.pattern.console=%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(%5p) %clr(---){faint} %clr(%-80.80logger{79}){cyan} %clr(:){faint} %m%n
去掉了 線程名 節點,調整了類名的長度限制。
如果希望使用自定義的logback.xml,則需要加上 相應的轉換器類:
<substitutionProperty name="log.pattern" value="%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(%5p) %clr(---){faint} %clr(%-80.80logger{79}){cyan} %clr(:){faint} %m%n%wEx"/> <conversionRule conversionWord="clr" converterClass="org.springframework.boot.logging.logback.ColorConverter"/> <conversionRule conversionWord="wex" converterClass="org.springframework.boot.logging.logback.WhitespaceThrowableProxyConverter"/> <conversionRule conversionWord="wEx" converterClass="org.springframework.boot.logging.logback.ExtendedWhitespaceThrowableProxyConverter"/> <appender name="stdout" class="ch.qos.logback.core.ConsoleAppender"> <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"> <pattern>${log.pattern}</pattern> </encoder> </appender>
效果展示:
關于“Linux部署springboot項目彩色日志打印的方法是什么”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識,可以關注億速云行業資訊頻道,小編每天都會為大家更新不同的知識點。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。