gpt4 book ai didi

sql - 只显示有效的 SQL 字符串 P6Spy

转载 作者:行者123 更新时间:2023-12-04 21:58:12 25 4
gpt4 key购买 nike

我正在使用 p6spy 来记录我的程序生成的 sql 语句。输出的 spy.log 文件的格式如下所示:

current time|execution time|category|statement SQL String|effective SQL string

我只是想知道是否有人知道是否有办法更改 spy.properties 文件并且只将最后一列(有效的 SQL 字符串)输出到 spy.log 文件?我查看了属性文件,但没有找到任何似乎支持这一点的内容。

谢谢!

最佳答案

在 spy.properties 中有一个名为 logMessageFormat 的属性您可以设置为 MessageFormattingStrategy 的自定义实现.这适用于任何类型的记录器(即文件、slf4j 等)。

例如。

logMessageFormat=my.custom.PrettySqlFormat

使用 Hibernate 的 pretty-print SQL 格式化程序的示例:
package my.custom;

import org.hibernate.jdbc.util.BasicFormatterImpl;
import org.hibernate.jdbc.util.Formatter;

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

public class PrettySqlFormat implements MessageFormattingStrategy {

private final Formatter formatter = new BasicFormatterImpl();

@Override
public String formatMessage(int connectionId, String now, long elapsed, String category, String prepared, String sql) {
return formatter.format(sql);
}

}

关于sql - 只显示有效的 SQL 字符串 P6Spy,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17789223/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com