若是你用过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