oracle创建错误日志表

Jul*_*es 0 oracle toad plsql error-logging exception-handling

我在 Toad 中为 oracle 创建了一个名为 error_log 的表。这样做的目的是记录以前编写的包可能遇到的任何错误,并记录它们以供开发人员查看。现在,我的任务是创建一个包/过程,它基本上会引发错误并能够将其记录到 error_log 表中?关于我将如何处理这件事的任何想法?

Mat*_*eak 5

首先,使包过程成为一个自治事务,以便您写入日志的任何内容保持写入状态,即使调用事务回滚。

其次,让你的日志过程的调用者传递尽可能少的信息:理想情况下,只是一条消息。在您的日志过程中,您可以执行以下操作:

  • 决定是否甚至“打开”日志记录并应该写入日志
  • 决定调用日志过程的包和行号(这样你就可以写出消息的来源)
  • 决定消息的时间戳应该是什么
  • 决定用户是谁,他的 IP 地址是什么等等,如果你想记录这些事情

第三,这只是我的意见,没有“消息级别”的概念。我基本上有两种类型的消息——错误和非错误。错误总是被写入;可以打开或关闭非错误。当您尝试使用“Fine”、“Finer”和“Finest”等日志记录级别时,只要出现问题,您总会将其打开为“Finest”。