在处理一些相当复杂的过程时,我开始通过存储的日志记录过程将调试信息记录到_debug
表中:P_Log('message')
,它只调用一个简单的INSERT
查询_debug
表。
复杂过程包含事务,如果遇到错误则回滚事务。问题是在事务过程中记录的任何调试信息也会回滚。这当然有点反效果,因为您希望能够在过程失败时精确地查看调试日志。
有没有任何方法可以插入_debug
而不插入插件?该日志实际上只用于开发,我只会写它,所以我不在乎它是否会违反交易的使用方式。
出于好奇,这通常是如何处理的?它似乎能够从内部事务中写入任意日志信息,检查变量状态等,无论所述事务被回滚,对于调试错误绝对是至关重要的。这里最好的做法是什么?
答案 0 :(得分:2)
最简单的方法是将日志表更改为MyISAM。
它不支持交易,会完全忽略它们。当您只插入并从中选择时,MyISAM会更快一些。
我所知道的唯一其他解决方案是为日志创建单独的连接。