【发布时间】:2010-10-11 18:08:32
【问题描述】:
在发布此问题之前,我尝试进行了多次搜索。如果这是重复的,请告诉我,我会删除它。
我的问题围绕着处理通过我们的网络应用程序产生的错误的正确方法。我们目前通过 log4j 记录所有内容。如果发生错误,它只会在屏幕上显示“发生错误。已通知 IT 部门并将尽快纠正此问题”。这不会告诉用户任何事情......但是当我们尝试重现错误时,它也不会告诉开发人员任何事情。我们必须转到错误日志文件夹并尝试查找此错误。我还要提一下,该文件夹中充满了过去一周的日志。每次出现错误时,都会为该用户创建一个日志文件,并将电子邮件发送给分配给处理错误的 IT 人员。此电子邮件未提及日志文件名,但它是日志文件中写入的相同错误文本的副本。
因此,如果 Alicia 在 7:15 遇到问题,但同一分钟还发生了 10 个其他错误,我必须检查每个日志文件以尝试找到她的错误。
我向我的同事提出的建议是将错误日志表添加到数据库中。这将为每个错误向表中写入一条记录,记录它是针对谁、错误、发生在哪个页面等。这样做的好处是我们可以从表中返回主键值 (error_log_id) 和在页面上显示类似“已记录错误参考 ID (1337) 并通知适当的 IT 人员。请保留此参考 ID 以备将来使用”之类的消息。当我们收到电子邮件时,它会告诉我们错误的 ID 以供快速参考。或者如果用户是持久的,他们可以通过 id 联系我们,我们可以很快找到错误。
您如何设置错误日志记录?顺便说一句,我们的系统使用连接到 SQL Server 数据库的 Java Servlet。
【问题讨论】:
标签: java servlets error-handling