我需要记录我的Web应用程序的特定活动(基于Python – 与Postgres的SQL炼金术),我不想在我的Postgres数据库上转储日志信息(为什么要用垃圾填满?)或使用日志文件(很难搜索).
理想情况下,我想将所有内容都放在另一个数据库中,并以异步方式执行此操作.由于日志记录是异步的,因此我不需要担心写入操作失败并破坏执行所有重要业务的代码.此外,如果我错过了一些记录事件,它可能没什么大不了的.
Mongo似乎是一个很好的解决方案,因为它非常适合编写操作并且易于设置.
问题是我没有设法找到任何满足我需求的python工具,尤其是异步需求.
有什么想法吗?
解决方法:
使用日志收集器守护程序(如Fluentd/Scribe/Flume)可能是另一种解决方案.
这些守护程序在每个应用程序节点上启动,并从应用程序进程获取日志.它们缓冲日志并异步地将数据写入其他系统,如MongoDB / PostgreSQL /等.编写是通过批处理完成的,因此它比直接从应用程序编写要高效得多.
这里有两个如何使用Python的Fluentd以及如何将数据放入MongoDB的链接.
标签:python,asynchronous,mongodb,logging
来源: https://codeday.me/bug/20190620/1247325.html