我想从我的 VoltProcedures 中记录一些信息,但 VoltProcedure 抽象类中没有记录器。我发现这个问题解释了最好的方法是将数据插入到该表中。答案来自 2015 年,所以我想知道是否还有其他方法可以做到这一点?仍然不推荐通过 log4j 登录吗?
谢谢 :)
我在 VoltDB 工作并写了你提到的答案。在存储过程中使用 Log4J 是可以的,但应谨慎使用。我们当时不推荐它,因为我们看到了从程序记录影响性能的情况。我们仍然不建议在生产中启用太多日志语句,但对于开发或提供更多细节作为(希望很少见)异常处理的一部分,它可能非常有用。
我们现在有一个HOWTO,它描述了在存储过程中使用 Log4J 的推荐方法。它本质上是老式的 Log4J 1.0 技术,例如将记录器调用放在 if() 块中,如果未启用日志记录级别,该块将被优化。