Python 如何进行日志挖掘?

Python 如何进行日志挖掘?,python,logging,data-mining,Python,Logging,Data Mining,为了从wxPython开发的一个专有桌面工具中找出(或猜测)一些东西,我在几个regardful类方法上注入了日志修饰符。每个日志记录如下所示: 现在,数据库中有超过300万条日志记录,我开始思考“我能从这些东西中得到什么?”。我可以得到一些信息,如: 一段时间(例如,一周)内(klass,方法)的命中率 按记录计数计算的超级用户 按丢失的关闭日志与打开日志比较得出的近似崩溃率 我想相关的技术可能是日志挖掘。有人知道我可以从这个非常简单的日志中获取更多信息吗?我真的很想从中获得更多信息。S

为了从wxPython开发的一个专有桌面工具中找出(或猜测)一些东西,我在几个regardful类方法上注入了日志修饰符。每个日志记录如下所示:

现在,数据库中有超过300万条日志记录,我开始思考“我能从这些东西中得到什么?”。我可以得到一些信息,如:

  • 一段时间(例如,一周)内(klass,方法)的命中率
  • 按记录计数计算的超级用户
  • 按丢失的关闭日志打开日志比较得出的近似崩溃率

我想相关的技术可能是日志挖掘。有人知道我可以从这个非常简单的日志中获取更多信息吗?我真的很想从中获得更多信息。

SpliFF是对的,你必须决定哪些问题对你来说很重要,然后确定你是否收集了正确的数据来回答这些问题。理解这类操作数据是非常有价值的

您可能想先看看是否可以回答一些基本问题,然后在建立日志收集和分析工作流程后,再继续进行更难的工作。您可能会考虑一些长期问题:

  • “在野外”遇到的最常见、最严重的bug是什么?按频率和影响排序数据:如果可能,捕获堆栈跟踪/调用点和方法参数
  • 您能否简化用户执行的一些常见操作?如果X是最常见的,那么可以减少步骤的数量,还是可以简化单个步骤数据:在会话中,单击流以查看常见工作流。按使用频率、步骤数量和复杂性排列的功能
  • 有些功能可能会混淆,选项冲突,从而导致用户错误。用户多次备份以重复一个步骤或从头开始的会话可能会说明问题
您可能还想通知用户,数据收集是为了提高质量,甚至还想从应用程序界面中征求一些反馈。

模式

失败之前的模式。比如说记录了失败,现在考虑一下这些问题:

  • 之前的klass方法组合顺序是什么
  • 其他套餐呢
  • 在相同的失败之前总是相同的顺序吗
  • 一系列小故障是否先于大故障
比较模式的一种方法如下:

  • 对每条消息进行分类
  • 用一个唯一的ID表示每个类/类型,因此您现在有了一个ID序列
  • 将序列切片为时间段以进行比较
  • 将切片(ID数组)与diff算法进行比较
  • 保留周期样本以建立通用模式,然后比较相同周期的新样本以确定异常程度

  • 没有人能为你回答这个问题。在如何过滤和呈现数据方面存在着无限的变化。问题是你想从中得到什么。谢谢你的建议。