springboot日志的实现方式(两种log4j2.properties和log4j2.yml)
生活随笔
收集整理的這篇文章主要介紹了
springboot日志的实现方式(两种log4j2.properties和log4j2.yml)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
第一種:基于log4j2.properties
首先pom.xml中導入jar
<dependency><groupId>org.slf4j</groupId><artifactId>slf4j-api</artifactId><version>1.7.21</version></dependency><dependency><groupId>org.slf4j</groupId><artifactId>slf4j-log4j12</artifactId><version>1.7.21</version></dependency>然后在src/main/resources目錄下新建log4j2.properties,該日志文件可以實現,每天新建一個日志文件,前一天的日志以前一天的日期為結尾
### \u8BBE\u7F6E### log4j.rootLogger = debug,stdout,D,E,I### \u8F93\u51FA\u4FE1\u606F\u5230\u63A7\u5236\u62AC ### log4j.appender.stdout = org.apache.log4j.ConsoleAppender log4j.appender.stdout.encoding=utf-8 log4j.appender.stdout.Target = System.out log4j.appender.stdout.layout = org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern = %d{yyyy-MM-dd HH:mm:ss,SSS} %5p %c{1}:%L - %m%nlog4j.appender.D = org.apache.log4j.DailyRollingFileAppender log4j.appender.D.File = D://logs/debug.log log4j.appender.file.DatePattern='.'yyyy-MM-dd log4j.appender.D.Append = true log4j.appender.D.Threshold = DEBUG log4j.appender.D.layout = org.apache.log4j.PatternLayout log4j.appender.D.layout.ConversionPattern =%d{yyyy-MM-dd HH:mm:ss,SSS} %5p %c{1}:%L - %m%nlog4j.appender.E = org.apache.log4j.DailyRollingFileAppender log4j.appender.E.File =D://logs/error.log log4j.appender.file.DatePattern='.'yyyy-MM-dd log4j.appender.E.Append = true log4j.appender.E.Threshold = ERROR log4j.appender.E.layout = org.apache.log4j.PatternLayout log4j.appender.E.layout.ConversionPattern = %d{yyyy-MM-dd HH:mm:ss,SSS} %5p %c{1}:%L - %m%nlog4j.appender.I = org.apache.log4j.DailyRollingFileAppender log4j.appender.I.File =D://logs/info.log log4j.appender.file.DatePattern='.'yyyy-MM-dd log4j.appender.I.Append = true log4j.appender.I.Threshold = INFO log4j.appender.I.layout = org.apache.log4j.PatternLayout log4j.appender.I.layout.ConversionPattern = %d{yyyy-MM-dd HH:mm:ss,SSS} %5p %c{1}:%L - %m%n第二種方式:基于log4j2.yml配置文件
首先pom.xml中導入jar
<dependency> <!-- exclude掉spring-boot的默認log配置 --><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter</artifactId><exclusions><exclusion><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-logging</artifactId></exclusion></exclusions></dependency><!-- 引入log4j2依賴 --><!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-log4j2 --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-log4j2</artifactId><version>2.0.0.RELEASE</version></dependency><!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.dataformat/jackson-dataformat-yaml --><dependency><!-- 加上這個才能辨認到log4j2.yml文件 --><groupId>com.fasterxml.jackson.dataformat</groupId><artifactId>jackson-dataformat-yaml</artifactId></dependency>然后在src/main/resources目錄下新建log4j2.yml文件
# 共有8個級別,按照從低到高為:ALL < TRACE < DEBUG < INFO < WARN < ERROR < FATAL < OFF。 Configuration: status: warn monitorInterval: 30Properties: # 定義全局變量 Property: # 缺省配置(用于開發環境)。其他環境需要在VM參數中指定,如下: #測試:-Dlog.level.console=warn -Dlog.level.xjj=trace #生產:-Dlog.level.console=warn -Dlog.level.xjj=info - name: log.level.console value: debug - name: log.sql.level value: trace - name: LOG_HOME value: /bdmsweb-log/logs Appenders: Console: #輸出到控制臺 name: CONSOLE target: SYSTEM_OUT ThresholdFilter: level: ${sys:log.level.console} # “sys:”表示:如果VM參數中沒指定這個變量值,則使用本文件中定義的缺省全局變量值 onMatch: ACCEPT onMismatch: DENY PatternLayout: pattern: "%d{yyyy-MM-dd HH:mm:ss,SSS} %5p %c{1}:%L - %m%n" RollingFile: # 輸出到文件,超過128MB歸檔 - name: info ignoreExceptions: false fileName: ${LOG_HOME}/${date:yyyy-MM}/${date:yyyy-MM-dd}/info.log filePattern: "${LOG_HOME}/${date:yyyy-MM}/info-%d{yyyy-MM-dd}-%i.log.gz" ThresholdFilter: level: infoonMatch: ACCEPT onMismatch: DENY PatternLayout: pattern: "%d{yyyy-MM-dd HH:mm:ss,SSS} %5p %c{1}:%L - %m%n" Policies: SizeBasedTriggeringPolicy: size: "128 MB" DefaultRolloverStrategy: max: 1000 - name: debug ignoreExceptions: false fileName: ${LOG_HOME}/${date:yyyy-MM}/${date:yyyy-MM-dd}/debug.log filePattern: "${LOG_HOME}/$${date:yyyy-MM}/debug-%d{yyyy-MM-dd}-%i.log.gz" ThresholdFilter: level: debugonMatch: ACCEPT onMismatch: DENY PatternLayout: pattern: "%d{yyyy-MM-dd HH:mm:ss,SSS} %5p %c{1}:%L - %m%n" Policies: SizeBasedTriggeringPolicy: size: "128 MB" DefaultRolloverStrategy: max: 1000 - name: error ignoreExceptions: false fileName: ${LOG_HOME}/${date:yyyy-MM}/${date:yyyy-MM-dd}/error.log filePattern: "${LOG_HOME}/$${date:yyyy-MM}/error-%d{yyyy-MM-dd}-%i.log.gz" ThresholdFilter: level: erroronMatch: ACCEPT onMismatch: DENYPatternLayout: pattern: "%d{yyyy-MM-dd HH:mm:ss,SSS} %5p %c{1}:%L - %m%n" Policies: SizeBasedTriggeringPolicy: size: "128 MB" DefaultRolloverStrategy: max: 1000 Loggers: Root: level: info AppenderRef: - ref: CONSOLE- ref: info - ref: debug - ref: error Logger: # 為com.xjj包配置特殊的Log級別,方便調試 - name: cnki.bdms.module.search.daladditivity: true level: ${sys:log.sql.level} AppenderRef:- ref: info - ref: debug - ref: error - ref: CONSOLE最后在application.yml中添加配置
logging:config: classpath:log4j2.yml完成以上配置之后 運行項目,便可以在D盤/bdmsweb-log/logs 目錄下看到以日期為區分的日志文件
總結
以上是生活随笔為你收集整理的springboot日志的实现方式(两种log4j2.properties和log4j2.yml)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 工业用微型计算机(11)-指令系统(8)
- 下一篇: 嵌入式笔录(4)-LC并联电路选频和AM