gpt4 book ai didi

java - 如何跟踪和保存捕获的异常或记录的数据处理异常事件?

转载 作者:行者123 更新时间:2023-12-01 15:47:57 25 4
gpt4 key购买 nike

假设有些事件可能发生(可能性较小),但应该注册它们。这是人们只需要调整的数据......以查看发生了什么以及需要更改和改进的内容。

通常,这是在抛出异常时或仅在某些 if 条件通过时在 catch block 中完成的。

我不想编写shell脚本并从日志中收集数据,所以我可以使用DB并为每个上下文创建一个表,这在大多数情况下是可能的,但在进一步开发中维护和重构非常不方便。特别是因为数据将在使用 RDB 时进行类型化。大多数情况下,唯一的共享数据是用户 ID、时间、组件以及不同的数据,如文件 ID、文件大小 || elementsCount,计数偏差 ||等等

或者我可以使用一些 nosql 存储来实现这一点,这也有点矫枉过正,但由于数据具有相当类型自由的性质,我想这会更方便。

您能解释一下您是如何做到的吗?这怎么称呼?我认为 JMX 不处理这种情况。 Spring AOP 或一般的 AOP 只处理分布式特性。

最佳答案

听起来您有两个不同的问题:

  1. 首先我应该如何捕获某些事件?
  2. 捕获事件后我应该如何处理它们?

关于1,是的,AOP是一种非常常见的捕获事件的解决方案。我不确定“AOP 一般只处理分布式特性”是什么意思。没有任何关于 AOP 的分发内容。您还没有告诉我们足够多的关于您的应用程序的信息,让任何人都无法说出如何尽可能轻松地集成 AOP 等,但有很多信息可用 online .

关于2,我们谈论的是多少数据?您想为每个事件存储多少信息?每条消息有什么相似/不同之处?我可能会采取以下方法:

  • 计算出在任何给定的秒、分钟、小时、天等期间您要保存多少数据。如果数据足够小,可以放入您现有的数据库之一,那么就不要通过引入新技术。
  • 数据可以同步加载吗?如果是的话,那就很容易了。否则,我可能会记录数据,并使用简单的 ETL 脚本定期合并数据。这可能比设置一个您现在生产中没有的新 nosql 存储要容易得多,也便宜得多。
  • 决定您要保留哪些数据。它可能看起来像:id、类型、时间戳、源(例如服务器或应用程序实例)、详细信息。详细信息应针对特定类型。
  • 决定您要对数据运行什么类型的查询或报告。
  • 您是否需要构建特定类型的内容以便可以进行特定查询?您能否将特定于类型的内容保留在 XML 或 JSON 文档中,并仅在特定于类型的报告中解析它们?或者,您是否需要在查询本身中引用特定于类型的内容?特定于类型的详细信息可能会使查询变得困难,但像 mongodb 这样的 nosql 数据库实际上可能会有所帮助。
  • 弄清楚您的数据保留政策。您可能需要在某个时候清理旧数据。这可能会影响您的存储设计。

关于java - 如何跟踪和保存捕获的异常或记录的数据处理异常事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6755187/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com