前說一下業務需求:
因代碼當中調用了第三個接口,所以要對第三方接口單獨記錄日志,所以配置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
Log4j入門使用教程 http://www.linuxidc.com/Linux/2013-06/85223.htm
Log4j 日志詳細用法 http://www.linuxidc.com/Linux/2014-09/107303.htm
Hibernate配置Log4j顯示SQL參數 http://www.linuxidc.com/Linux/2013-03/81870.htm
Log4j學習筆記(1)_Log4j 基礎&配置項解析 http://www.linuxidc.com/Linux/2013-03/80586.htm
Log4j學習筆記(2)_Log4j配置示例&Spring集成Log4j http://www.linuxidc.com/Linux/2013-03/80587.htm
Log4j 的詳細介紹:請點這裡
Log4j 的下載地址:請點這裡