一直没很注意的log4j

如果要一个系统出多个log文件,每个出相应的模块.

根路径下的所有logger输出都会受到影响,但是优先级最低,可以被任意特定的包设定覆盖。所以这里的A2会被覆盖.root下的是所有的信息都会输入到后边的(红色)路径下.

程序里我这样写:
static Logger logger = Logger.getLogger ("protocal") ;
配置里我这样写:
log4j.logger.protocal=info,operatefile
log4j.additivity.protocal=false
原来不只是用class
日志输出也有编码,不然中文会乱码,logfile指相应的log文件
log4j.appender.logfile.encoding=UTF-8

Linux默认保存的编码是UTF8的,而Windows默认用GB2312和GB18030的,
要在windows下查看UTF8的文件,你装个Notepad++,utralEdit或Notepad2之类的查看工具,
用这些工具打开linux文本就正常了。

包设定的日志级别高于rootLogger设定的级别
#root level
log4j.rootLogger=ERROR, stdout, A2#console config
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=[%-5p] %d{HH:mm:ss} [%c{1}] - %m%n

#file config
log4j.appender.A2=org.apache.log4j.DailyRollingFileAppender
log4j.appender.A2.file=../logs/mtradeweb.log
log4j.appender.A2.DatePattern='.'yyyy-MM-dd
log4j.appender.A2.layout=org.apache.log4j.PatternLayout
log4j.appender.A2.layout.ConversionPattern=[%-5p] %d{HH:mm:ss} [%c{1}] - %m%n

#tradeweb level对应每个包所做的日志log4j.logger.tpme.MEBS.timebargain.tradeweb=info
log4j.logger.tpme.MEBS.timebargain.tradeweb.webapp.listener=debug
log4j.logger.tpme.MEBS.timebargain.tradeweb.webapp.filter=info
log4j.logger.tpme.MEBS.timebargain.tradeweb.util=info
log4j.logger.tpme.MEBS.timebargain.tradeweb.webapp.action.ResponseXml=info
log4j.logger.tpme.MEBS.timebargain.tradeweb.webapp.action.HttpTradeServlet=debug
log4j.logger.tpme.MEBS.timebargain.tradeweb.service=debug
log4j.logger.tpme.MEBS.timebargain.tradeweb.dao=debug

#money对应每个包所做的日志log4j.logger.tpme.MEBS.timebargain.tradeweb.webapp.action.HttpMoneyServlet=debug,moneyfile
log4j.additivity.tpme.MEBS.timebargain.tradeweb.webapp.action.HttpMoneyServlet=false
log4j.logger.tpme.MEBS.timebargain.tradeweb.money=debug,moneyfile
log4j.additivity.tpme.MEBS.timebargain.tradeweb.money=false

#report对应每个包所做的日志log4j.logger.tpme.MEBS.timebargain.tradeweb.webapp.action.HttpReportServlet=debug,reportfile
log4j.additivity.tpme.MEBS.timebargain.tradeweb.webapp.action.HttpReportServlet=false
log4j.logger.tpme.MEBS.timebargain.tradeweb.report=debug,reportfile
log4j.additivity.tpme.MEBS.timebargain.tradeweb.report=false


#money log
log4j.appender.moneyfile=org.apache.log4j.DailyRollingFileAppender
log4j.appender.moneyfile.file=../logs/money.log
log4j.appender.moneyfile.DatePattern='.'yyyy-MM-dd
log4j.appender.moneyfile.layout=org.apache.log4j.PatternLayout
log4j.appender.moneyfile.layout.ConversionPattern=[%-5p] %d{HH:mm:ss} [%c{1}]%m%n

#report log
log4j.appender.reportfile=org.apache.log4j.DailyRollingFileAppender
log4j.appender.reportfile.file=../logs/report.log
log4j.appender.reportfile.DatePattern='.'yyyy-MM-dd
log4j.appender.reportfile.layout=org.apache.log4j.PatternLayout
log4j.appender.reportfile.layout.ConversionPattern=[%-5p] %d{HH:mm:ss} [%c{1}]%m%n

#tradweb_op log
log4j.logger.tpme.MEBS.timebargain.tradeweb.webapp.action.BaseHttpServlet=info,operatefile
log4j.additivity.tpme.MEBS.timebargain.tradeweb.webapp.action.BaseHttpServlet=false
log4j.logger.tpme.MEBS.timebargain.tradeweb.operate=info,operatefile
log4j.additivity.tpme.MEBS.timebargain.tradeweb.operate=false
#tradeweb operate
log4j.appender.operatefile=org.apache.log4j.DailyRollingFileAppender
log4j.appender.operatefile.file=../logs/tradweb_op.log
log4j.appender.operatefile.DatePattern='.'yyyy-MM-dd
log4j.appender.operatefile.layout=org.apache.log4j.PatternLayout
log4j.appender.operatefile.layout.ConversionPattern=[%-5p] %d{HH\:mm\:ss} [%c{1}]%m%n

猜你喜欢

转载自love398146779.iteye.com/blog/1545046