我希望在我们现有的 Oracle 应用程序中引入一个日志框架来代替 DBMS_OUTPUT 的使用。
该框架将主要用于帮助调试,并详细说明启动 x 过程、参数详细信息、结束过程 x 等。它还应该具有为所有或仅一个程序单元、各种级别的跟踪打开的功能事实上,什么是标准的日志记录功能。
实现这些要求应该相对简单,但是我希望您的帮助是如何最好地关闭和打开此功能。我想要实现的是关闭跟踪时可能的最小性能损失。希望大部分时间都应该这样!
由于应用程序使用的是 10g 第 2 版,我最初喜欢将日志记录机制包装在条件编译中的外观,这样日志记录框架在正常操作期间甚至不可见。不幸的是,我不得不勉强放弃这个想法,因为大多数应用程序都是使用独立的过程和函数构建的,因此打开日志功能可能会使很多代码无效。
我已经查看了几个现有的开源和其他框架\功能以获得灵感:
log4plsql ( http://log4plsql.sourceforge.net/ )
APC在这里的审查, 尤其是在可接受的影响下,让我感到担忧。
OraLog 项目 ( http://oralog.sourceforge.net )
自 2007 年以来没有更新
PL/VISION(这里)
看起来很旧,自 Oracle 8i 以来没有任何变化?
问汤姆仪器(这里)
2014 年 1 月 4日更新 Tom Kyte现在推荐 Tyler Muth 的Logger
如果您在 Oracle 应用程序中引入了某种形式的登录,您是如何实现它的,尤其是您如何控制它,那么我真的很想听听您的经验。