Log4j 配置詳解


#創建日志對象,可多個
log4j.rootLogger=INFO, stdout, file, flume
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%n%-d{yyyy-MM-dd HH:mm:ss:sss}%n[%p]-[Thread: %t]-[%C.%M()-- %F:%L]: %m%n

# Output to the File
#普通輸出文件
#log4j.appender.file=org.apache.log4j.FileAppender 
#按日期生成文件 (weixin.2018-07-11.log)
log4j.appender.file=org.apache.log4j.DailyRollingFileAppender
#l生成日志文件路徑
log4j.appender.file.File=/acs/log/weixin/weixin.
#按日期生成日志日期格式 (在‘.log’前加上日期)
log4j.appender.file.DatePattern=yyyy-MM-dd'.log'
log4j.appender.file.layout=org.apache.log4j.PatternLayout
#輸出日志格式 詳細看注釋1
log4j.appender.file.layout.ConversionPattern=%n%-d{yyyy-MM-dd HH:mm:ss:sss}%n[%p]-[Thread: %t]-[%C.%M()]: %m%n

#flume負載均衡配置(日志為異步發送)
log4j.appender.flume = com.nascent.ihd.service.base.service.log4jtoflume.AsyncAppender
#服務器hosts列表
log4j.appender.flume.Hosts = 121.41.167.96:30000 121.41.166.101:30000
#負載均衡類型 輪循:ROUND_ROBIN 隨機:RANDOM
log4j.appender.flume.Selector = ROUND_ROBIN
log4j.appender.flume.MaxBackoff = 30000
#失敗重連時間(ms)
log4j.appender.flume.BackoffTime = 30000
#flume發生異常時是否拋出異常  不拋出異常:true  拋出異常:false(不設置參數默認為false)
log4j.appender.flume.UnsafeMode = true
#用於指定客戶端類型
log4j.appender.flume.AppType = wechatquartzecrp
#用於指定負載均衡節點的數量,參數不能小於1且不大於Hosts的數量 
log4j.appender.flume.MaxIoWorkers=2
#BufferSize是以event個數為單位(異步的緩存數據容量),默認是128個event
log4j.appender.flume.BufferSize=2000
log4j.logger.org.example.MyClass = DEBUG,flume

# Druid  warn, stdout
log4j.logger.druid.sql=error
log4j.logger.druid.sql.DataSource=error
log4j.logger.druid.sql.Connection=error
log4j.logger.druid.sql.Statement=debug
log4j.logger.druid.sql.ResultSet=error

#控制台的配置
log4j.appender.appendConsole = org.apache.log4j.ConsoleAppender
#Threshold:設置此appender的日志級別,這里會覆蓋全局的(rootLogger中)定義的日志級別
log4j.appender.appendConsole.Threshold = debug


注釋1:
#自定義樣式   
#%c     輸出所屬的類目,通常就是所在類的全名 
#%C     輸出Logger所在類的名稱,通常就是所在類的全名 
#%d     輸出日志時間點的日期或時間,默認格式為ISO8601,也可以在其后指定格式,比如:%d{yyy MMM dd HH:mm:ss , SSS},%d{ABSOLUTE},%d{DATE}
#%F     輸出所在類的類名稱,只有類名。
#%l     輸出語句所在的行數,包括類名+方法名+文件名+行數
#%L     輸出語句所在的行數,只輸出數字
#%m 輸出代碼中指定的訊息,如log(message)中的message
#%M 輸出方法名
#%p     輸出日志級別,即DEBUG,INFO,WARN,ERROR,FATAL
#%r     輸出自應用啟動到輸出該log信息耗費的毫秒數
#%t   輸出產生該日志事件的線程名
#%n  輸出一個回車換行符,Windows平台為“/r/n”,Unix平台為“/n”
#%% 用來輸出百分號“%”
#log4j.appender.Linkin.layout.ConversionPattern=%n[%l%d{yy/MM/dd HH:mm:ss:SSS}][%C-%M] %m  
#log4j.appender.Linkin.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss}[%C]-[%p] %m%n   
#log4j.appender.Linkin.layout.ConversionPattern = %d{ABSOLUTE} %5p %t %c{2}:%L - %m%n
關於該PatternLayout格式化器的補充:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM