项目构建之springboot集成lomback.xml,和log4j基于properties方式的日志配置记录
生活随笔
收集整理的這篇文章主要介紹了
项目构建之springboot集成lomback.xml,和log4j基于properties方式的日志配置记录
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
文章目錄
- springboot集成lomback.xml 描述
- 在yml中定義的一些配置信息
- 創建logback-spring.xml文件
- logback-spring.xml配置如下:
- **log4j入門配置**
- **詳細介紹配置信息的:**
- **自動清理導出的日志文件**
springboot集成lomback.xml 描述
首先在resouces目錄下創建一個logback-spring.xml文件,為什么叫這個名字呢?
是因為logback默認的會從資源目錄讀取這個文件
配置xml文件中需要用到兩個標簽。
springProperty和springProfile標簽,都是用于讀取yml(yaml)配置文件的。
在yml中定義的一些配置信息
server:port: 9137tomcat:uri-encoding: UTF-8max-threads: 100 #最大并發數max-connections: 200 #最大連接數accepCount: 50 #等待數 #自定義的日志配置參數 logging:path: D:\xxx\ldmall-product-service\src\main\resources\logs #保存日志lv: INFO # 控制臺日志輸出級別dateSize: 1 # 日志保存天數 #郵箱配置參數 email:#主機smtpHost: smtp.qq.com#端口(465或587)smtpPort: 465username: xxx@qq.compassword: xxxxSSL: trueemail_from: from@qq.comemail_to: to@qq.com創建logback-spring.xml文件
同事記得在resources目錄下創建一個logs文件夾,用于存儲項目運行,生成的日志文件
logback-spring.xml配置如下:
我這里把發送郵箱注釋掉了
提示:
log4j入門配置
一般配置三種輸出:
第一種是控制臺輸出,
第二種是將日志輸出到一個文件,
第三種是將報錯的信息單獨輸出到一個文件
依賴: spring-boot-start本身包含了log4j的包,可以不加。也可以自己指定版本。
<!--log4j日志 --><dependency><groupId>commons-logging</groupId><artifactId>commons-logging</artifactId><version>1.2</version></dependency><dependency><groupId>log4j</groupId><artifactId>log4j</artifactId><version>1.2.17</version></dependency><!--log4j-->創建log4j.properties文件,配置如下
### set log levels ### log4j.rootLogger = debug , stdout , D , E### 輸出到控制臺 ### log4j.appender.stdout = org.apache.log4j.ConsoleAppender log4j.appender.stdout.Target = System.out log4j.appender.stdout.Threshold = INFO 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%n### 輸出到日志文件 ### log4j.appender.D = org.apache.log4j.DailyRollingFileAppender log4j.appender.D.File = logs/log.log 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} [ %t:%r ] - [ %p ] %m%n### 保存異常信息到單獨文件 ### log4j.appender.E = org.apache.log4j.DailyRollingFileAppender log4j.appender.E.File = logs/error.log 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} [ %t:%r ] - [ %p ] %m%n也可以用xml的方式配置。
最終輸出
控制臺: 設置成了INFO級別
日志輸出: 設置成了INFO級別
錯誤日志輸出: 設置成了ERROR級別
詳細介紹配置信息的:
###配置日志根Logger log4j.rootLogger=DEBUG,stdout,file #ERROR 為嚴重錯誤 主要是程序的錯誤 #WARN 為一般警告,比如session丟失 #INFO 為一般要顯示的信息,比如登錄登出 #DEBUG 為程序的調試信息 log4j.additivity.org.apache=true###配置日志信息輸出目的地Appender log4j.appender.stdout=org.apache.log4j.ConsoleAppender #org.apache.log4j.ConsoleAppender(控制臺) #org.apache.log4j.FileAppender(文件) #org.apache.log4j.DailyRollingFileAppender(每天產生一個日志文件) #org.apache.log4j.RollingFileAppender(文件大小到達指定尺寸的時候產生一個新的文件) #org.apache.log4j.WriterAppender(將日志信息以流格式發送到任意指定的地方) #log4j.appender.error.Target=System.out ###輸出ERROR級別以上的日志 log4j.appender.stdout.threshold=INFO ###配置日志信息的格式(布局) log4j.appender.stdout.layout=org.apache.log4j.PatternLayout #org.apache.log4j.HTMLLayout(以HTML表格形式布局) #org.apache.log4j.PatternLayout(可以靈活地指定布局模式) #org.apache.log4j.SimpleLayout(包含日志信息的級別和信息字符串) #org.apache.log4j.TTCCLayout(包含日志產生的時間、線程、類別等等信息) ###配置日志打印的格式格式化日志信息 log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n#%m 輸出代碼中指定的消息 #%p 輸出優先級,即DEBUG,INFO,WARN,ERROR,FATAL #%r 輸出自應用啟動到輸出該log信息耗費的毫秒數 #%c 輸出所屬的類目,通常就是所在類的全名 #%t 輸出產生該日志事件的線程名 #%n 輸出一個回車換行符,Windows平臺為“\r\n”,Unix平臺為“\n” #%d 輸出日志時間點的日期或時間,默認格式為ISO8601,也可以在其后指定格式,比如:%d{yyy MMM dd HH:mm:ss , SSS} #%l 輸出日志事件的發生位置,包括類目名、發生的線程,以及在代碼中的行數 #log4j.appender.file=org.apache.log4j.RollingFileAppender log4j.appender.file=org.apache.log4j.DailyRollingFileAppender log4j.appender.file.layout=org.apache.log4j.PatternLayout log4j.appender.file.DatePattern='.'yyyy-MM-dd-HH-mm # '.'yyyy-MM:每月 # '.'yyyy-ww:每周 # '.'yyyy-MM-dd:每天 # '.'yyyy-MM-dd-a:每天兩次 # '.'yyyy-MM-dd-HH:每小時 # '.'yyyy-MM-dd-HH-mm:每分鐘 #log4j.appender.file.MaxFileSize=1MB ###滾動文件的最大數 #log4j.appender.file.MaxBackupIndex=8 log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} [%-5p](%-30c{1}) [TxId : %X{PtxId} , SpanId : %X{PspanId}] [ET:%X{ENV_TYPE},AN:%X{APP_NAME},SN:%X{SERVICE_NAME},CN:%X{CONTAINER_NAME},CI:%X{CONTAINER_IP}] %m%n log4j.appender.file.Threshold=DEBUG ###將消息增加到指定文件中,false指將消息覆蓋指定的文件內容 log4j.appender.file.append=true ###日志的保存位置 #log4j.appender.file.File=E:/logs/file-debug-log.log log4j.appender.file.File=logs/file-debug-log.log ###每天產生一個日志文件 #log4j.appender.file=org.apache.log4j.DailyRollingFileAppender #log4j.appender.file.layout=org.apache.log4j.PatternLayout #log4j.appender.file.maxFileSize=100 #log4j.appender.file.maxBackupIndex=5 #log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} [%-5p](%-30c{1}) [TxId : %X{PtxId} , SpanId : %X{PspanId}] [ET:%X{ENV_TYPE},AN:%X{APP_NAME},SN:%X{SERVICE_NAME},CN:%X{CONTAINER_NAME},CI:%X{CONTAINER_IP}] %m%n #log4j.appender.file.Threshold=DEBUG #log4j.appender.file.append=true #log4j.appender.file.File=E:/logs/debug-log.log自動清理導出的日志文件
log4j.rootLogger=INFO,stdout,debug,error#輸出到控制臺 log4j.appender.stdout=org.apache.log4j.ConsoleAppender 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} %p [%t] %C.%M(%L) | %m%n#輸出DEBUG級別以上的日志到文件 log4j.appender.debug=org.apache.log4j.RollingFileAppender log4j.appender.debug.Threshold=DEBUG log4j.appender.debug.File=./logs/log.txt log4j.appender.debug.layout=org.apache.log4j.PatternLayout log4j.appender.debug.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} [%5p] - %c -%F(%L) -%m%n #最大文件50MB log4j.appender.debug.MaxFileSize=50MB #備份15個文件 log4j.appender.debug.MaxBackupIndex=15 log4j.appender.debug.Encoding=UTF-8#輸出error級別以上的日志到文件 log4j.appender.error=org.apache.log4j.RollingFileAppender log4j.appender.error.Threshold=ERROR log4j.appender.error.File=./logs/error.txt log4j.appender.error.layout=org.apache.log4j.PatternLayout log4j.appender.error.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} [%5p] - %c -%F(%L) -%m%n #最大文件50MB log4j.appender.error.MaxFileSize=50MB #備份15個文件 log4j.appender.error.MaxBackupIndex=15 log4j.appender.error.Encoding=UTF-8將日志發送到郵件或者存儲到數據庫,可參考:
https://blog.csdn.net/zzq900503/article/details/31411403
https://blog.csdn.net/zzq900503/article/details/87629782
總結
以上是生活随笔為你收集整理的项目构建之springboot集成lomback.xml,和log4j基于properties方式的日志配置记录的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: julia(6)-循环与猜数字
- 下一篇: 巧妙mybatis避免Where 空条件