# 根記錄器:僅輸出 ERROR 及以上
log4j.rootLogger=ERROR
# com 包及子包:DEBUG 級別,輸出到 yin(控制台) 和 dailly_rolling_file(按天滾動文件)
log4j.logger.com=DEBUG,yin,dailly_rolling_file
# 關鍵:禁止向父記錄器傳遞,避免重複輸出
log4j.additivity.com=false
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行號
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
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。
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,核心業務包設置 DEBUGAsyncAppender 異步寫入,減少業務線程阻塞