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