LOG4J日志输出位置的问题

若是你用过Gearman,应该知道,大概没隔8秒(个人机器)会输出一串日志,以下图:apache

若是worker开得多的话,好比说10个,那这样会致使日志文件特别大,并且自身日志的追踪变得很是复杂。为了解决这个问题,咱们就把Gearman输出的日志输出到另一个文件去就好了。如下为测试经过的log4j配置文件,其中包含了输出mybatis的SQL语句配置,仅供参考:mybatis

log4j.rootLogger=INFO,A,B

#输出myBatis的SQL语句
#com.upos.core.mapper的值是mapper.xml配置文件中
#标签<mapper namespace="com.upos.core.mapper.BizChannelMapper" >
#的namespace的取值,去包名便可,类名能够不写
log4j.logger.com.upos.core.mapper=DEBUG,B,A
#若是这行不加可能会致使输出两行,具体本身去Google啦
log4j.additivity.com.upos.core.mapper=false
#TRACE会输出查询结果
#log4j.logger.com.upos.core.mapper=TRACE,B

#这里不是org.gearman,二是gearman
#由于Gearman配置文件中写的gearman.loggerName=gearman
#详见gearman-service中的jps.properties文件
log4j.logger.gearman=DEBUG,C
log4j.additivity.gearman=false

#定义日志输出目的地为控制台
log4j.appender.A=org.apache.log4j.ConsoleAppender
log4j.appender.A.layout = org.apache.log4j.PatternLayout
log4j.appender.A.layout.ConversionPattern=%d{MM-dd HH\:mm\:ss} %F:%L -%m%n

#应用自定义INFO日志输出到
log4j.appender.B = com.upos.core.log.TaskDailyRollingFileAppender
log4j.appender.B.file = ${user.home}/log/worker/application.log
log4j.appender.B.layout = org.apache.log4j.PatternLayout
log4j.appender.B.layout.ConversionPattern =%d{MM-dd HH\:mm\:ss} %F:%L -%m%n

#Gearman日志输出
log4j.appender.C = com.upos.core.log.TaskDailyRollingFileAppender
log4j.appender.C.file = ${user.home}/log/worker/gearman.log
log4j.appender.C.layout = org.apache.log4j.PatternLayout
log4j.appender.C.layout.ConversionPattern =%d{MM-dd HH\:mm\:ss} %F:%L -%m%n
相关文章
相关标签/搜索