springboot整合log4j的踩坑實戰(zhàn)記錄_第1頁
springboot整合log4j的踩坑實戰(zhàn)記錄_第2頁
springboot整合log4j的踩坑實戰(zhàn)記錄_第3頁
springboot整合log4j的踩坑實戰(zhàn)記錄_第4頁
springboot整合log4j的踩坑實戰(zhàn)記錄_第5頁
已閱讀5頁,還剩2頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

第springboot整合log4j的踩坑實戰(zhàn)記錄目錄1、依賴添加1.1、添加依賴1.2、剔除依賴2、配置日志2.1、日志打印記錄2.2、指定配置文件補(bǔ)充:log4j調(diào)優(yōu)和注意事項總結(jié)

1、依賴添加

1.1、添加依賴

需要引入log4j的依賴支持,推薦自己確定使用的版本。

dependency

groupIdorg.apache.logging.log4j/groupId

artifactIdlog4j-to-slf4j/artifactId

version2.11.2/version

/dependency

1.2、剔除依賴

springboot默認(rèn)自己內(nèi)部添加了對日志的支持,需要將其全部剔除掉,不然會影響log4j的依賴使用。

dependency

groupIdorg.springframework.boot/groupId

artifactIdspring-boot-starter-logging/artifactId

exclusions

exclusion

groupId*/groupId

artifactId*/artifactId

/exclusion

/exclusions

/dependency

2、配置日志

2.1、日志打印記錄

根據(jù)自己的需求進(jìn)行相關(guān)的配置,這里需要注意的是使用xml文件進(jìn)行配置,使用properties有坑沒爬起來,文件名自定義,沒有啥要求,都會在配置文件中進(jìn)行指定的。

xmlversion="1.0"encoding="UTF-8"

configurationscan="true"scanPeriod="10seconds"

contextNamebeordie/contextName

propertyname="path"value="E:\file\javalearn\blog\src\main\resources\logs"/

conversionRuleconversionWord="clr"converter/

conversionRuleconversionWord="wex"converter/

conversionRuleconversionWord="wEx"converter/

propertyname="CONSOLE_LOG_PATTERN"value="${CONSOLE_LOG_PATTERN:-%clr(%d{yyyy-MM-ddHH: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}}"/

appendername="CONSOLE"

filter

levelinfo/level

/filter

encoder

Pattern${CONSOLE_LOG_PATTERN}/Pattern

charsetUTF-8/charset

/encoder

/appender

appendername="DEBUG_FILE"

file${path}/debug.log/file

encoder

pattern%d{yyyy-MM-ddHH:mm:ss.SSS}[%thread]%-5level%logger{50}-%msg%n/pattern

charsetUTF-8/charset

/encoder

rollingPolicy

fileNamePattern${log}/debug/log-debug-%d{yyyy-MM-dd}.%i.log/fileNamePattern

timeBasedFileNamingAndTriggeringPolicy

maxFileSize100MB/maxFileSize

/timeBasedFileNamingAndTriggeringPolicy

maxHistory15/maxHistory

/rollingPolicy

filter

leveldebug/level

onMatchACCEPT/onMatch

onMismatchDENY/onMismatch

/filter

/appender

appendername="INFO_FILE"

file${log}/info.log/file

encoder

pattern%d{yyyy-MM-ddHH:mm:ss.SSS}[%thread]%-5level%logger{50}-%msg%n/pattern

charsetUTF-8/charset

/encoder

rollingPolicy

fileNamePattern${log}/info/log-info-%d{yyyy-MM-dd}.%i.log/fileNamePattern

timeBasedFileNamingAndTriggeringPolicy

maxFileSize100MB/maxFileSize

/timeBasedFileNamingAndTriggeringPolicy

maxHistory15/maxHistory

/rollingPolicy

filter

levelinfo/level

onMatchACCEPT/onMatch

onMismatchDENY/onMismatch

/filter

/appender

appendername="WARN_FILE"

file${log}/warn.log/file

encoder

pattern%d{yyyy-MM-ddHH:mm:ss.SSS}[%thread]%-5level%logger{50}-%msg%n/pattern

charsetUTF-8/charset

/encoder

rollingPolicy

fileNamePattern${log}/warn/log-warn-%d{yyyy-MM-dd}.%i.log/fileNamePattern

timeBasedFileNamingAndTriggeringPolicy

maxFileSize100MB/maxFileSize

/timeBasedFileNamingAndTriggeringPolicy

maxHistory15/maxHistory

/rollingPolicy

filter

levelwarn/level

onMatchACCEPT/onMatch

onMismatchDENY/onMismatch

/filter

/appender

appendername="ERROR_FILE"

file${log}/error.log/file

encoder

pattern%d{yyyy-MM-ddHH:mm:ss.SSS}[%thread]%-5level%logger{50}-%msg%n/pattern

charsetUTF-8/charset

/encoder

rollingPolicy

fileNamePattern${log}/error/log-error-%d{yyyy-MM-dd}.%i.log/fileNamePattern

timeBasedFileNamingAndTriggeringPolicy

maxFileSize100MB/maxFileSize

/timeBasedFileNamingAndTriggeringPolicy

maxHistory15/maxHistory

/rollingPolicy

filter

levelERROR/level

onMatchACCEPT/onMatch

onMismatchDENY/onMismatch

/filter

/appender

springProfilename="dev"

loggername="com.beordie"level="debug"/

/springProfile

rootlevel="info"

appender-refref="CONSOLE"/

appender-refref="DEBUG_FILE"/

appender-refref="INFO_FILE"/

appender-refref="WARN_FILE"/

appender-refref="ERROR_FILE"/

/root

/configuration

2.2、指定配置文件

還需要在springboot的項目配置文件中進(jìn)行配置的指定。

logging:

config:classpath:log4j.xml

到這里完成對日志的整體配置,啟動項目通過下面語句拿到日志對象即可進(jìn)行日志的打印輸出。

privatefinalLoggerLOGGING=LoggerFactory.getLogger(ArticleController.class);

補(bǔ)充:log4j調(diào)優(yōu)和注意事項

日志模式-同步/異步

log4j2提供了AsyncAppender和AsyncLogger以及全局異步,開啟方式如下:

同步模式:默認(rèn)配置即為同步模式,即沒有使用任何AsyncAppender和AsyncLogger。全局異步:配置按照同步方式配,通過添加jvm啟動參數(shù)即可開啟全局異步,無需修改配置和應(yīng)用?;旌袭惒剑菏褂卯惒絃ogger和同步Logger的混合配置,且不開啟全局異步,即Logger配置中部分AsyncLogger,部分Logger。

日志模式使用注意事項:

如果使用異步,建議使用AsyncLogger實現(xiàn)而不是AsyncAppender。如果使用同步,AsyncLogger、AsyncApp

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論