object MyQueryLogger : SqlLogger {
override
fun log(context: StatementContext, transaction: Transaction) {
//Customize how you want your logging, for example, using SLF4j
val logger = LoggerFactory.getLogger(javaClass)
logger.info("SQL: ${context.expandArgs(transaction)}")
logger.trace("SQL: ${context.expandArgs(transaction)}")
}
}
1条答案
按热度按时间6ojccjat1#
假设您在
transaction{}
块中的表上运行查询,您可以将Logger添加到事务块。transaction{}
有一个名为addLogger()
的扩展函数,它接受SqlLogger
。您可以添加StdOutSqlLogger
,它是公开库附带的默认SqlLogger
。这里有一个例子;无论何时调用
getAllItemsFromDb()
,记录器都会将生成的SQL记录到控制台您还可以通过实现SqlLogger接口并覆盖log函数,对记录SQL日志进行更细粒度的控制;
然后在您的事务{}中添加您的自定义Logger