python - 将记录器消息存储在列表中

标签 python logging

根据此问题已接受的答案: storing logger messages in a string

我想完成同样的事情,但将每条日志消息发送到一个列表。

非常感谢

最佳答案

通过使用特殊情况 BufferingHandler 在 stdlib 中已经可以实现这一点实例。如果您使用无限缓冲区,它永远不会刷新。

>>> myhandler = logging.handlers.BufferingHandler(capacity=float('inf'))
>>> logging.basicConfig(handlers=[myhandler]) 
>>> logging.warning("uh-oh")
>>> logging.error("boom") 
>>> myhandler.buffer
[<LogRecord: root, 30, <ipython-input-11-feb6b3c2bc6f>, 1, "uh-oh">,
 <LogRecord: root, 40, <ipython-input-12-fd4144525168>, 1, "boom">]

关于python - 将记录器消息存储在列表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55388255/

相关文章:

python - 替换大量数组中的值(性能)

python - 使用 lxml.html 提取文本

python - 如何创建关于年龄与时间的 np 数组随机数据?

Python:保持最小距离的范围内的随机数字列表

jquery - 如果未使用 jquery 在 html 中登录,则重定向用户

java - Elasticsearch 中的 log4j 升级

python - 使用 Keras/神经网络处理分类数据

java - SLF4J 和 Log4j 2 绑定(bind) Maven 依赖

javascript - winston.js 信息方法不传递元数据

java - Log4j 是一个死项目吗?