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