Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 是否建议在数据库中存储堆栈跟踪?_Mysql_Database_Database Design_Mysqli_Database Schema - Fatal编程技术网

Mysql 是否建议在数据库中存储堆栈跟踪?

Mysql 是否建议在数据库中存储堆栈跟踪?,mysql,database,database-design,mysqli,database-schema,Mysql,Database,Database Design,Mysqli,Database Schema,我正在使用的当前系统通过一组文档&使用文档的元数据执行一些逻辑。如果文档的元数据可疑,则会引发异常。系统记录异常,作业失败&让开发人员在继续之前查看日志来解决问题 我想通过使系统具有容错性来临时改进这个系统,因为我已经看到,通常由于文档很少而导致作业失败。即使出现异常,系统仍将继续。异常信息将与文档信息一起存储在数据库表中。此信息将发送给开发人员,开发人员可以在不让客户等待的情况下进行修复。客户以后可以单独处理这些失败的文档 我的问题是如何在表中存储异常信息。该异常已记录在日志文件中。我想的一个

我正在使用的当前系统通过一组文档&使用文档的元数据执行一些逻辑。如果文档的元数据可疑,则会引发异常。系统记录异常,作业失败&让开发人员在继续之前查看日志来解决问题

我想通过使系统具有容错性来临时改进这个系统,因为我已经看到,通常由于文档很少而导致作业失败。即使出现异常,系统仍将继续。异常信息将与文档信息一起存储在数据库表中。此信息将发送给开发人员,开发人员可以在不让客户等待的情况下进行修复。客户以后可以单独处理这些失败的文档

我的问题是如何在表中存储异常信息。该异常已记录在日志文件中。我想的一个想法是存储异常的时间戳,以便开发人员以后可以在日志文件中找到时间戳并理解异常。但这可能会导致日志文件被删除


将整个堆栈跟踪存储在数据库中有意义吗

在同一个数据库或单独的数据库中,生产系统会将错误和异常记录到errorlog表中,这并不少见,时间戳、用户ID以及异常和堆栈会转换为字符串,并存储在定义为varchar(3000)的列中或者一个可以存储足够的异常信息的值

异常就是:异常。(预期)错误处理是错误处理。不要混用这两种方法。在我看来,在数据库中存储异常是一种过分的做法。记录带有时间戳和错误(消息、客户端、异常文本)的日志文件会更简单、更快。如果您仍然希望在数据库中存储异常,我建议不要将它们存储在应用程序的同一数据库中,并使其异步以不减慢应用程序的速度。这个问题应该在programmers.stackexchange.com/上提出,因为这是一个以意见为导向的问题。好吧,这可以讨论……我并不完全同意,但是有很多因素可以做出选择……我会登录一个单独的Mantis DB来自动抛出case(但仍然是异步的)