您的位置:首页 > 其它

p6spy使用(2)

2019-06-26 15:00 38 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/wangduqiang747/article/details/98124090 写到单独的日志里,不和其他日志混起来 1. com.a.LogbackLogger 2. log4j的配置 3. spy.properties的配置

p6spy的logger有点怪,FIleLogger并没有打到 spy.properties配置的文件里, 改用log4j package com.a;
import com.p6spy.engine.logging.appender.FileLogger; import com.p6spy.engine.logging.appender.StdoutLogger;
//import org.slf4j.Logger; //import org.slf4j.LoggerFactory; import org.apache.log4j.Logger;    public class LogbackLogger extends   FileLogger{ //    private static final Logger logger = LoggerFactory.getLogger("p6spy"); // private static final Logger logger = LoggerFactory.getLogger(LogbackLogger.class); private static final Logger logger = Logger.getLogger(LogbackLogger.class);        public String getLastEntry() {         return lastEntry;     }        public void setLastEntry(String lastEntry) {         this.lastEntry = lastEntry;     }        protected String lastEntry;          private String lastSql="";         @Override     public void logSQL(int connectionId, String s, long l, String category, String s1,String sql) {     if("result".equals(category)){//过滤掉     return; //result没有信息量。resultset才有     }             if ("resultset".equals(category)) {     if (s1.equals(lastSql)){     return;//如果是重复的查询结果,即一个同一个查询多行结果导致的多行问题。 return     }else{     logger.info(s1);     //logger.info(sql);             lastSql = s1;     }         }else if("statement".equals(category)){     logger.info(sql);         }else if("commit".equals(category)){         logger.info("commit");         }               }        @Override     public void logException(Exception e) {         logger.error(e.getMessage(),e);     }        @Override public void logText(String s) {         logger.info(s);         this.setLastEntry(s);     }         private String trim(String sql){         StringBuilder sb = new StringBuilder("\r\n");         sb.append(sql.replaceAll("\n|\r|\t|'  '"," "));         return sb.toString();     } } 

log4j
#jdbc sql 日志
log4j.logger.com.a=DEBUG, LogbackLogger log4j.appender.LogbackLogger=org.apache.log4j.FileAppender  log4j.appender.LogbackLogger.Append=false log4j.appender.LogbackLogger.File=d:/jdbcLog.log log4j.appender.LogbackLogger.DatePattern= '.'yyyy-MM-dd log4j.appender.LogbackLogger.layout=org.apache.log4j.PatternLayout log4j.appender.LogbackLogger.layout.ConversionPattern= [%d] [%-5p] : %m%n


spy.properties  --不过滤category logfile     = D:/workspace/spy.log

realdriver=oracle.jdbc.driver.OracleDriver reload = false stacktrace = false module.log=com.p6spy.engine.logging.P6LogFactory #appender=com.p6spy.engine.logging.appender.StdoutLogger #appender=com.p6spy.engine.logging.appender.FileLogger   appender=com.a.LogbackLogger
#log4j.logger.p6spy=warn,STDOUT log4j.logger.p6spy=debug,FILE log4j.appender.spy6p.File=D:/workspace/spy.log dateformat=HH:mm:ss useprefix=false
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: