在具有PreparedStatement的情况下,记录SQL(JDBC)错误总是很痛苦。
你最终会得到这样的信息:
2008-10-20 09:19:48,114 ERROR LoggingQueueConsumer-52 [Logger.error:168] Error
executing SQL: [INSERT INTO private_rooms_bans (room_id, name, user_id, msisdn,
nickname) VALUES (?, ?, ?, ?, ?) ON DUPLICATE KEY UPDATE room_id = ?, name = ?,
user_id = ?, msisdn = ?, nickname = ?]
当然,我可以编写一个帮助方法来检索值并解析/替换问号为实际值(如果我没有得到这个问题的结果,可能会走这条路),但我只想知道是否有其他人解决了这个问题和/或是否有任何通用的日志记录助手可以自动为我执行该操作。经过几次回答后编辑:
迄今提供的库似乎适合调试语句的日志记录,这无疑是有用的。 但是,我正在寻找一种以PreparedStatement本身(而不是某个子类)作为输入,每当发生错误时记录其SQL语句的方法。 我不想在生产应用程序中部署PreparedStatement的替代实现。
我想我正在寻找的是一个实用程序类,而不是PreparedStatement专业化。
谢谢!