P6SpyLogger.java 1.7 KB

12345678910111213141516171819202122232425262728293031323334
  1. package com.ydtech.utils;
  2. import com.p6spy.engine.common.P6Util;
  3. import com.p6spy.engine.spy.appender.MessageFormattingStrategy;
  4. import java.text.SimpleDateFormat;
  5. public class P6SpyLogger implements MessageFormattingStrategy {
  6. // private SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss:SSS");
  7. //
  8. // @Override
  9. // public String formatMessage(int connectionId, String now, long elapsed, String category, String prepared, String sql, String url) {
  10. // return StringUtils.isNotBlank(sql) ? DateUtil.formatFullTime(LocalDateTime.now(), DateUtil.FULL_TIME_SPLIT_PATTERN)
  11. // + " | 耗时 " + elapsed + " ms | SQL 语句:" + StringUtils.LF + sql.replaceAll("[\\s]+", StringUtils.SPACE) + ";" : StringUtils.EMPTY;
  12. // }
  13. private SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss:SSS");
  14. @Override
  15. public String formatMessage(int connectionId, String now, long elapsed, String category, String prepared, String sql, String url) {
  16. StringBuilder sb = new StringBuilder();
  17. sb
  18. .append("=====================================================\n")
  19. .append("连接id:").append(connectionId).append("\n")
  20. .append("当前时间:").append(now).append("\n")
  21. .append("类别:").append(category).append("\n")
  22. .append("花费时间:").append(elapsed).append(" ms\n")
  23. // .append("url:").append(url).append("\n")
  24. .append("预编译sql:").append(P6Util.singleLine(prepared)).append("\n")
  25. .append("最终执行的sql:").append(P6Util.singleLine(sql))
  26. .append("\n=====================================================\n");
  27. return sb.toString();
  28. }
  29. }