前说一下业务需求:
因代码当中调用了第三个接口,所以要对第三方接口单独记录日志,所以配置log4j指定此类的日志输出到指定的文件路径与文件上。不多说看源码:
Java代码
log4j.rootLogger=ERROR, stdout ,logfile
log4j.logger.org.apache=WARN
log4j.logger.com.opensymphony=WARN
log4j.logger.net.sf=ERROR
log4j.logger.net.sf.hibernate=ERROR
log4j.logger.net.sf.hibernate.SQL=ERROR
log4j.logger.org.hibernate=ERROR
log4j.logger.org.springframework=ERROR
#log4j.logger.org.springframework.beans=ERROR
log4j.logger.org.apache.catalina=ERROR
log4j.logger.org.apache.commons=ERROR
log4j.logger.org.apache.struts2=ERROR
log4j.logger.org.apache.velocity=ERROR
log4j.logger.freemarker=WARN
log4j.logger.com.mchange.v2=DEBUG
log4j.logger.org.apache.jasper.compiler.JspRuntimeContext=ERROR
log4j.logger.org.hibernate.type.descriptor.sql.BasicBinder=ERROR
log4j.logger.org.hibernate.type=ERROR
log4j.logger.org.hibernate.sql=ERROR
#-------------------------为指定类定义日志级别与别名
#-------------------------BSS接口
#下面的配置就是给RequestInterfaceUtil配置日志级别与别名
log4j.logger.com.born.wom.utils.RequestInterfaceUtil=INFO,bi
#-------------------------H2访问量
#下面的配置就是给BssInterfaceLogUtil配置日志级别与别名
log4j.logger.com.born.wom.utils.BssInterfaceLogUtil=INFO,h2
#-------------------------定义日志记录方式与格式
#-------------------------控制台
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{yyyy MM dd HH\:mm\:ss}-%p %t %c - %m%n
#-------------------------文件
#日志以文件形式记录
log4j.appender.logfile=org.apache.log4j.RollingFileAppender
#指定日志记录路径
log4j.appender.logfile.File=${catalina.base}/logs/system/sys_logs.log
#文件最大容量,如果超出新建一个
log4j.appender.logfile.MaxFileSize=512KB
#当上面文件容量超出会新建一个文件,但是最多能有几个文件,就是下面这货指定
log4j.appender.logfile.MaxBackupIndex=3
#日志输出格式定义
log4j.appender.logfile.layout=org.apache.log4j.PatternLayout
#指定格式
log4j.appender.logfile.layout.ConversionPattern=%d{yyyy MM dd HH\:mm\:ss}-%p %t %c - %m%n
#-------------------------BSS接口
log4j.appender.bi=org.apache.log4j.RollingFileAppender
log4j.appender.bi.File=${catalina.base}/logs/bssinter/bi_logs.log
log4j.appender.bi.MaxFileSize=512MB
log4j.appender.bi.MaxBackupIndex=30
#log4j.additivity是 子Logger 是否继承 父Logger 的 输出源。简单来说,我只希望我指定日志只能在指定的日志文件里出显,别滴日志文件里不能出现
log4j.additivity.com.born.wom.utils.RequestInterfaceUtil=false
log4j.appender.bi.layout=org.apache.log4j.PatternLayout
log4j.appender.bi.layout.ConversionPattern=%d{yyyy MM dd HH\:mm\:ss}-%p %t %c - %m%n
#-------------------------H2访问量
log4j.appender.h2=org.apache.log4j.RollingFileAppender
log4j.appender.h2.File=${catalina.base}/logs/h2/h2_logs.log
log4j.appender.h2.MaxFileSize=1024MB
log4j.appender.h2.MaxBackupIndex=3000
log4j.additivity.com.born.wom.utils.BssInterfaceLogUtil=false
log4j.appender.h2.layout=org.apache.log4j.PatternLayout
log4j.appender.h2.layout.ConversionPattern=%d{yyyy MM dd HH\:mm\:ss}-%p - %m%n