【问题标题】:Creating an error log table in oracleoracle创建错误日志表
【发布时间】:2015-12-05 17:38:58
【问题描述】:
我在 Toad 中为 oracle 创建了一个名为 error_log 的表。这样做的目的是记录以前编写的包可能遇到的任何错误,并将它们记录下来供开发人员查看。现在,我的任务是创建一个包/过程,它本质上会引发错误并能够将其记录到 error_log 表中?关于我将如何处理这件事有什么想法吗?
【问题讨论】:
标签:
oracle
plsql
exception-handling
toad
error-logging
【解决方案1】:
首先,使包过程成为一个自治事务,这样无论你写到日志中的任何内容,即使调用事务回滚。
其次,让日志过程的调用者传递尽可能少的信息:理想情况下,只是一条消息。在您的日志过程中,您可以执行以下操作:
- 决定是否“开启”日志记录并写入日志
- 决定调用日志过程的包和行号(这样你就可以写出消息的来源)
- 决定消息的时间戳应该是什么
- 决定用户是谁,他的 IP 地址是什么,等等,如果你想记录这些事情
第三,这只是我的看法,不要有“消息级别”的概念。我基本上有两种类型的消息——错误和非错误。错误总是被写入;可以打开或关闭非错误。当您尝试设置像“Fine”、“Finer”和“Finest”这样的日志记录级别时,只要出现问题,您总会将其打开为“Finest”。