#創建日志對象,可多個 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格式化器的補充: