Java 在应用程序中记录SQL语句

Java 在应用程序中记录SQL语句,java,jakarta-ee,logging,Java,Jakarta Ee,Logging,我正在将SLF4J和Logback添加到我的应用程序中,我不确定是否应该记录我在存储库层(使用SpringJDBC)生成的SQL语句。当然,这些语句的级别将设置为DEBUG,因为它可以生成大量日志语句 记录应用程序生成的SQL语句是否常见 我会将此类信息写入数据库,保存统计信息,以便查询和汇总它们 当然可以用日志来完成,但是它不像从数据库中总结那么容易。没有特别的努力,日志文件就没有SQL。我会将此类信息写入数据库,保存统计信息,以便查询和汇总它们 当然可以用日志来完成,但是它不像从数据库中总结

我正在将SLF4J和Logback添加到我的应用程序中,我不确定是否应该记录我在存储库层(使用SpringJDBC)生成的SQL语句。当然,这些语句的级别将设置为DEBUG,因为它可以生成大量日志语句


记录应用程序生成的SQL语句是否常见

我会将此类信息写入数据库,保存统计信息,以便查询和汇总它们


当然可以用日志来完成,但是它不像从数据库中总结那么容易。没有特别的努力,日志文件就没有SQL。

我会将此类信息写入数据库,保存统计信息,以便查询和汇总它们

当然可以用日志来完成,但是它不像从数据库中总结那么容易。没有特别的努力,日志文件就没有SQL。

是的,这很常见

所有的ORMs,包括openjpa和hibernate都这样做。所有像MyBatis这样的映射程序都有一些日志机制,可以挂接到几个日志实现中的任何一个

即使在远古时代。当调用
java.sql.DriverManager#setLogStream
时,驱动程序通常会执行此操作

)()

是的,这很常见

所有的ORMs,包括openjpa和hibernate都这样做。所有像MyBatis这样的映射程序都有一些日志机制,可以挂接到几个日志实现中的任何一个

即使在远古时代。当调用
java.sql.DriverManager#setLogStream
时,驱动程序通常会执行此操作


)()

实际上,如果你有一个在你看来是金融资产的大型应用程序,那么你当然应该记录你的应用程序,因为日志记录将被视为一个安全专业,你可以随时参考。另外,日志记录对于调试非常有用。
但是,如果你想记录所有的SQL语句,你必须考虑你要选择哪一种日志记录,因为如果你有一个巨大的应用程序被认为是一种金融资产,那么你的数据库会有很大的负担。当然,您应该记录您的应用程序,因为日志记录将被视为安全专业,您可以随时参考。另外,日志记录对于调试非常有用。
但是,如果要记录所有SQL语句,就必须考虑要选择哪种日志记录级别。

是的,记录SQL语句并没有错,因为在调试的情况下,这可能对我有帮助。但是建议将其保持在调试级别是的,记录SQL语句并没有什么错误,因为它可能对调试有所帮助。但最好将其保持在调试级别,这是否意味着如果不将SQL记录到数据库中,您就不会将其记录到日志中;这只是我把信息放在哪里的一个选择。我认为数据库在这里更有意义。这是否意味着如果不将SQL记录到数据库中,就不会将其记录到日志中;这只是我把信息放在哪里的一个选择。我认为数据库在这里更有意义。