首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 程式設計入門

Log4j 核心配置詳解:控制台、文件、滾動策略最佳實踐

     編輯:Java 程式設計入門

全局與包級日誌級別控制

# 根記錄器:僅輸出 ERROR 及以上
log4j.rootLogger=ERROR

# com 包及子包:DEBUG 級別,輸出到 yin(控制台) 和 dailly_rolling_file(按天滾動文件)
log4j.logger.com=DEBUG,yin,dailly_rolling_file

# 關鍵:禁止向父記錄器傳遞,避免重複輸出
log4j.additivity.com=false

Appender 詳細配置

1. ConsoleAppender(控制台輸出)

log4j.appender.yin = org.apache.log4j.ConsoleAppender
log4j.appender.yin.layout = org.apache.log4j.PatternLayout
log4j.appender.yin.layout.ConversionPattern = %n%d [%p] [%m] [%c] %M()[%L] %n

模式解析:%d時間 %p級別 %m消息 %c類名 %M方法名 %L行號

2. FileAppender(固定文件)

log4j.appender.file = org.apache.log4j.FileAppender
log4j.appender.file.File = C:\\logs\\log.log
log4j.appender.file.Append = true
log4j.appender.file.layout = org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss,SSS} [%c]-[%p] %m%n

3. RollingFileAppender(按大小滾動)

log4j.appender.rolling_file = org.apache.log4j.RollingFileAppender
log4j.appender.rolling_file.Threshold = ERROR
log4j.appender.rolling_file.File = C:\\logs\\log_rolling.log
log4j.appender.rolling_file.Append = true
log4j.appender.rolling_file.MaxFileSize = 10KB
log4j.appender.rolling_file.MaxBackupIndex = 100
log4j.appender.rolling_file.layout = org.apache.log4j.PatternLayout
log4j.appender.rolling_file.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss,SSS} [%c]-[%p] %m%n

關鍵參數:MaxFileSize 單文件上限,MaxBackupIndex 保留備份數。注意原文中有拼寫錯誤 appenile 應為 appender。

4. DailyRollingFileAppender(按日期滾動)

log4j.appender.dailly_rolling_file = org.apache.log4j.DailyRollingFileAppender
log4j.appender.dailly_rolling_file.File = C:\\logs\\log_daily_rolling.log
log4j.appender.dailly_rolling_file.DatePattern = .yyyy-MM-dd
log4j.appender.dailly_rolling_file.layout = org.apache.log4j.PatternLayout
log4j.appender.dailly_rolling_file.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss,SSS} [%c]-[%p] %m%n

DatePattern 支持精度到分鐘:.yyyy-MM-dd-HH-mm。生產環境建議按天滾動,配合日誌收集系統(如 Logstash/Filebeat)統一管理。

最佳實踐建議

  • 生產環境根級別設置 WARN 或 INFO,核心業務包設置 DEBUG
  • 使用 AsyncAppender 異步寫入,減少業務線程阻塞
  • 文件路徑使用相對路徑或環境變量,避免硬編碼
  • 定期清理舊日誌,防止磁盤佔滿
  • 遷移至 Log4j2 或 Logback 獲得更好性能與功能
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved