項目日誌配置詳解

這篇博客主要來講講關於log4j.properties的具體配置,關於log4j.properties外的其他配置可以看我上一篇博客即可
https://blog.csdn.net/weixin_40496191/article/details/104960611
一、 日誌參數使用指導

  1. log4j.properties配置
    1.1. 設置根配置(配置日誌輸出級別以及輸出目的地)
    1.2. 根據根配置,再對輸出目的地進行詳細配置,包括輸出目的地的指定和name命名,輸出級別、輸出佈局(自定義佈局需要配置輸出格式)等
  2. 日誌輸出級別規則
    2.1. log4j全部輸出優先級OFF>FATAL>ERROR>WARN>INFO>DEBUG>log>ALL
    2.2. log4j常用的輸出優先級FATAL>ERROR>WARN>INFO>DEBUG,如log4j.rootLogger=IERROR,則是輸出FATAL,ERROR
    2.3. 默認使用根配置的輸出級別,後面每個子項目也可以重新定義輸出級別,但是輸出級別是在根設置的基礎上減小範圍
  3. 日誌輸出目的地
    3.1. 輸出到控制檯:org.apache.log4j.ConsoleAppender
    3.2. 輸出到日誌文件: org.apache.log4j.FileAppender
    3.3 輸出到日誌文件(每天生成一個文件):org.apache.log4j.ConsoleAppender
    3.4 輸出到日誌文件(達到一定大小新生成一個文件):org.apache.log4j.RollingFileAppender
    3.5 輸出到數據庫: org.apache.log4j.jdbc.JDBCAppender
    3.6 輸出到郵件: org.apache.log4j.net.SMTPAppender
    3.7 輸出到任意指定地方(流形式): org.apache.log4j.net.SMTPAppender
  4. 日誌輸出佈局
    4.1. 打印日誌級別+日誌信息:org.apache.log4j.SimpleLayout
    4.2. 打印線程+日誌級別+日誌產生所在的類+日誌信息:org.apache.log4j.TTCCLayout
    4.3. 自定義日誌輸出格式:org.apache.log4j.PatternLayout
    4.4. 以html的形式打印日誌:org.apache.log4j.HTMLLayout(個人覺得不常用)
  5. 日誌輸出格式(只有爲自定義佈局纔有效)
    5.1.換行:%n
    5.2.日誌內容 :%m
    5.3.日誌級別:%p
    5.4.程序啓動到現在的毫秒數 :%r
    5.5.當前線程名 :%t
    5.6.日誌時間:%d %d{DATE}, %d{ABSOLUTE}, %d{HH:mm:ss,SSS}, %d{ddMMyyyy HH:mm:ss,SSS}
    5.7.輸出最後一個元素 :%C{1}
    5.8.java源碼行數 :%L
    5.9.java類名:%C
    5.10.java源文件名 :%f
    5.11.java方法名 :%M
    5.12.輸出一個百封號:%%
    5.13.%F%L%C%M縮寫,相當於輸出詳細報錯位置:%l

二、 具體配置

  1. 根配置
#根配置,即配置日誌的輸出目的地與輸出級別,,多個輸出目的地用“,”隔開
#這裏是配置輸出到控制、與日誌文件、數據庫,名字可以自定義但必須和後面的配置相同
log4j.rootLogger=info,console,File,FileOfDaily,FileOfSize,DATABASE
  1. 日誌–>控制檯
#日誌輸出到控制檯
log4j.appender.console=org.apache.log4j.ConsoleAppender
#控制檯佈局
log4j.appender.console.layout=org.apache.log4j.PatternLayout
#控制檯級別
log4j.appender.console.Threshold=info
#控制檯輸出格式
log4j.appender.console.layout.ConversionPattern=%d{dd-MM-yyyy HH:mm:ss}:%m%n
  1. 日誌–>日誌文件
#每天生成一個日誌文件(定義日誌文件名字爲File,後面同理)
log4j.appender.File=org.apache.log4j.FileAppender
#日誌文件輸出地址(${catalina.base}爲當前tomcat服務器的根目錄)
log4j.appender.File.File=G:/file.log
#日誌文件輸出佈局
log4j.appender.File.layout=org.apache.log4j.PatternLayout
#日誌文件輸出格式
log4j.appender.File.layout.ConversionPattern=%d{dd-MM-yyyy HH:mm:ss}:%m%n
#日誌文件的輸出級別
log4j.appender.File.Threshold=ERROR
  1. 日誌–>日誌文件(每天自動新生成)
#每天生成一個日誌文件
log4j.appender.FileOfDaily=org.apache.log4j.DailyRollingFileAppender
#日誌文件輸出地址(${catalina.base}爲當前tomcat服務器的根目錄)
log4j.appender.FileOfDaily.File=G:/FileOfDaily.log
#日誌文件輸出佈局
log4j.appender.FileOfDaily.layout=org.apache.log4j.PatternLayout
#日誌文件輸出格式
log4j.appender.FileOfDaily.layout.ConversionPattern=%d{dd-MM-yyyy HH:mm:ss}:%m%n
#日誌文件的輸出級別
log4j.appender.FileOfDaily.Threshold=ERROR
  1. 日誌–>日誌文件(達到大小新生成)
#每天生成一個日誌文件
log4j.appender.FileOfSize=org.apache.log4j.RollingFileAppender
#日誌文件輸出地址(${catalina.base}爲當前tomcat服務器的根目錄)
log4j.appender.FileOfSize.File=G:/FileOfSize.log
#日誌文件輸出佈局
log4j.appender.FileOfSize.layout=org.apache.log4j.PatternLayout
#日誌文件輸出格式
log4j.appender.FileOfSize.layout.ConversionPattern=%d{dd-MM-yyyy HH:mm:ss}:%m%n
#日誌文件的輸出級別
log4j.appender.FileOfSize.Threshold=ERROR
#指定文件大小
log4j.appender.FileOfSize.MaxFileSize=2KB
#指定新建日誌文件數量
#log4j.appender.FileOfSize.MaxBackupIndex=3
  1. 日誌–>數據庫
#配置輸出到數據庫
log4j.appender.DATABASE=org.apache.log4j.jdbc.JDBCAppender
#數據庫URL
log4j.appender.DATABASE.URL=jdbc\:oracle\:thin\:@localhost\:1521\:orcl
#數據庫driver
log4j.appender.DATABASE.driver=oracle.jdbc.driver.OracleDriver
#數據庫用戶
log4j.appender.DATABASE.user=scott
#數據庫密碼
log4j.appender.DATABASE.password=oracle
#數據庫sql
log4j.appender.DATABASE.sql=INSERT INTO LOG4J (Message) VALUES ('%m')
#數據庫佈局
log4j.appender.DATABASE.layout=org.apache.log4j.PatternLayout
#數據庫格式
#log4j.appender.DATABASE.layout.ConversionPattern=%d{dd-MM-yyyy HH:mm:ss}:%m%n
log4j.appender.DATABASE.layout.ConversionPattern=message: %m
#數據庫級別
log4j.appender.DATABASE.Threshold=error
  1. 日誌–>郵件
#配置輸出類型
log4j.appender.email=org.apache.log4j.net.SMTPAppender
#配置級別
log4j.appender.email.Threshold=ERROR
#配置流大小
log4j.appender.email.BufferSize=10
#設置SMTP服務器(QQ郵箱),需要導入activation.jar和mail.jar
log4j.appender.email.SMTPHost=smtp.exmail.qq.com
#設置主題
log4j.appender.email.Subject=errorMessage
#設置發件人
[email protected]
#設置收件人
[email protected]
#發件箱登陸用戶名
[email protected]
#發件箱登陸密碼
log4j.appender.MAIL.SMTPPassword=XXXXXX
#自定義佈局
log4j.appender.email.layout=org.apache.log4j.PatternLayout
#日誌輸出格式
log4j.appender.email.layout.ConversionPattern=%d{dd-MM-yyyy HH:mm:ss}:%m%n
#需要activation.jar和mail.jar支持,同時需要配置郵箱,具體可以參考https://www.jb51.net/softjc/266263.html

如果有不足的歡迎補充與提問!!!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章