Django - 记录每个视图的动作

Gar*_*nzo 2 django logging django-views

我正在考虑为我的django Web应用程序创建一个日志系统.Web应用程序的使用非常全面(涵盖了业务流程的所有方面),因此我想跟踪发生的每个事件.具体来说,我想记录每个运行的视图而不仅仅是"主要"视图,并且可能记录视图中执行的内容.

当我处于测井系统的"想法"阶段时,我很快就遇到了一些问题,让我不确定如何继续.以下是我的主要问题:

  • 我正在考虑将主要Web应用程序保存其数据的同一MySQL数据库中的所有事件记录下来.我担心的是将MySQL数据库膨胀成一个庞大的数据库.此外,如果数据库崩溃或以某种方式被破坏(是的,我有备份)我也会丢失我的日志,这会消除任何追踪问题的能力.我是使用单独的数据库还是只使用文本文件?
  • 我有多精细?最初我只想记录"Date - In my myView"之类的东西.但是,正如我正在考虑的那样,记录视图中发生的所有内容会很好.这样做可能会使日志变得庞大!而且如果将很多日志输入行混合到代码中,也会使我的代码难看.这种细节:
    • 日期 - 输入视图myView
    • 日期 - 在视图中查看myView,从数据库中检索对象myObject
    • 日期 - 在视图myView中,将myObject字段myField设置为myNewValue
    • 日期 - 离开myView

这是我在这一点上的主要想法.关于这方面的任何建议?

谢谢

ale*_*cxe 6

我认为最好和最正确的方法是创建自己的自定义中间件,您可以在其中记录您需要的所有内容.

以下是有关该主题的一些链接:

此外,请考虑使用sentry错误日志记录和聚合平台,而不是将日志写入数据库.仅供参考,请参阅使用数据库进行日志记录.