p6spy 로 my batis 출력 sql 감시

6408 단어 자바
프로젝트 가 maven 에서 만 들 어 졌 기 때문에 pom.xml 에 추가 합 니 다.
 
            p6spy             p6spy             2.1.3        
 
src/main/resource 에 spy.properties 를 추가 하고 추가 합 니 다.
 
driverlist=com.mysql.jdbc.Driver
appender=cn.com.mofit.edocSafe.util.MyP6SpyLogger
 
사용자 정의 Logger 작성
내용 은 다음 과 같다.
 
 
package cn.com.mofit.edocSafe.util;




import java.io.FileOutputStream;
import java.io.IOException;
import java.io.PrintStream;
import java.text.SimpleDateFormat;


import com.p6spy.engine.spy.appender.MessageFormattingStrategy;
import com.p6spy.engine.spy.appender.StdoutLogger;


public class MyP6SpyLogger
  extends StdoutLogger
{
  private static SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss:SSS");
  
  public  void setLogfile(String fileName)
  {
    try
    {
      this.qlog = new PrintStream(new FileOutputStream(fileName, true));
    }
    catch (IOException e)
    {
      e.printStackTrace(System.err);
    }
  }
  
  public void logSQL(int connectionId, String now, long elapsed, String category, String prepared, String sql)
  {
    String judgeSql = sql.trim().toLowerCase();
    if ((judgeSql.startsWith("select")) || (judgeSql.startsWith("insert")) || (judgeSql.startsWith("update")) || (judgeSql.startsWith("delete")))
    {
      String logEntry = "----------# " + this.format.format(Long.valueOf(System.currentTimeMillis())) + " | took " + elapsed + "ms | " + category + " | connection " + connectionId + "
" + sql + ";
"; logText(logEntry); } } public void logText(String text) { super.setStrategy(new MessageFormattingStrategy() { @Override public String formatMessage(int connectionId, String now, long elapsed, String category, String prepared, String sql) { String judgeSql = sql.trim().toLowerCase(); if ((judgeSql.startsWith("select")) || (judgeSql.startsWith("insert")) || (judgeSql.startsWith("update")) || (judgeSql.startsWith("delete"))) { String logEntry = "----------# " + MyP6SpyLogger.format.format(Long.valueOf(System.currentTimeMillis())) + " | took " + elapsed + "ms | " + category + " | connection " + connectionId + "
" + sql + ";
"; return logEntry; } return null; } }); super.logText(text); } }

spring 프로필 은 다음 과 같 습 니 다:
 


    
	
	 
	
	
	  
       
      
    
	
    
	
	
	
      
        
		
		
		
     
  
        
            
        
    
  
  	
      
          
           
      

      
      
        
      
  
      
      
          
    
	   
     
  

 
 
 
 
 
그리고 프로젝트 를 컴 파일 하고 재배 치 하 며 다시 시작 하면 됩 니 다.

좋은 웹페이지 즐겨찾기