首页 > 解决方案 > 在 django 中记录用户的操作

问题描述

为了记录用户在我的 django 应用程序中所做的事情,我尝试记录 django 会话何时打开以及视图何时执行。

为此,我找到了一个解决方案,但我想知道它是否正确,以及是否没有其他更好的方法或工具可以做到这一点。有人可以告诉我吗?非常感谢。

日志文件是这样写的:

# in case django session open
datetime / ----New Session ------ / session_id


# in case view execution
datetime / -session_id- / view_name

我有这个功能:

# logs visited page and session id and session opening
def f_lou_log(request, view_name="???"):
    if not request.session.session_key:
        request.session.create()
        logger.warning(str(datetime.datetime.now()) + " -------------------- New session --- #" + request.session.session_key)
    logger.warning(str(datetime.datetime.now()) + " -  #" + request.session.session_key + " - " + page)
    return 1

在每个视图的开头,我都这样调用函数:

def some_view(request):
    # log record
    v_wait = f_lou_log(request,"some_view")

   # (...) here is the view code

例如,我的日志文件如下所示:

2021-09-24 17:24:27.110718 -------------------- New session --- #x0u30n1th4b3z0otv311883ikf0d8y34
2021-09-24 17:24:27.110718 -  #x0u30n1th4b3z0otv311883ikf0d8y34 - home
2021-09-24 17:24:31.373336 -------------------- New session --- #3eviiejy1k1b3we62xz13ee53n168cvm
2021-09-24 17:24:31.373336 -  #3eviiejy1k1b3we62xz13ee53n168cvm - home
2021-09-24 17:26:08.319789 -------------------- New session --- #5ei0wbdvgm78ie3t3xlpnzyfl2f2l5jh
2021-09-24 17:26:08.320758 -  #5ei0wbdvgm78ie3t3xlpnzyfl2f2l5jh - home
2021-09-24 17:26:13.104499 -------------------- New session --- #2ri8izcnhtskbmy2rrtaefyn6hnbwiki
2021-09-24 17:26:13.104499 -  #2ri8izcnhtskbmy2rrtaefyn6hnbwiki - home
2021-09-24 17:26:14.834823 -  #2ri8izcnhtskbmy2rrtaefyn6hnbwiki - a00brouillon_View
2021-09-24 17:26:20.864235 -  #5ei0wbdvgm78ie3t3xlpnzyfl2f2l5jh - a00brouillon_View
2021-09-24 17:26:25.948578 -  #2ri8izcnhtskbmy2rrtaefyn6hnbwiki - a005_simple
2021-09-24 17:26:27.447930 -  #2ri8izcnhtskbmy2rrtaefyn6hnbwiki - a005_simple
2021-09-24 17:26:28.148313 -  #2ri8izcnhtskbmy2rrtaefyn6hnbwiki - home
2021-09-24 17:26:32.822251 -  #5ei0wbdvgm78ie3t3xlpnzyfl2f2l5jh - home
2021-09-24 17:26:34.154655 -  #5ei0wbdvgm78ie3t3xlpnzyfl2f2l5jh - a005_simple
2021-09-24 17:26:36.092244 -  #5ei0wbdvgm78ie3t3xlpnzyfl2f2l5jh - a005_simple
2021-09-24 17:26:37.096706 -  #5ei0wbdvgm78ie3t3xlpnzyfl2f2l5jh - home

标签: djangosessionlogging

解决方案


推荐阅读