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格式化器的补充:

 

posted @ 2019-06-25 16:44  某天清晨、  阅读(3319)  评论(0编辑  收藏  举报