我正在使用Python 3.3.5和日志(log)模块将信息记录到本地文件(来自不同线程).在有些情况下,我想输出一些额外的信息,但不知道这些信息是什么(例如,可能是一行文字或一条口述).

我想做的是在日志(log)记录被写入后,将这些附加信息添加到日志(log)文件中.此外,只有当日志(log)级别为错误(或更高)时,才需要附加信息.

理想情况下,它看起来像:

2014-04-08 12:24:01 - INFO     - CPU load not exceeded
2014-04-08 12:24:26 - INFO     - Service is running
2014-04-08 12:24:34 - ERROR    - Could not find any active server processes
Additional information, might be several lines.
Dict structured information would be written as follows:
key1=value1
key2=value2
2014-04-08 12:25:16 - INFO     - Database is responding

除了编写定制的日志(log)格式化程序,我找不到多少适合我的要求.我读过关于过滤器和上下文的文章,但这似乎不是一个很好的匹配.

或者,我可以只使用标准I/O写入文件,但大多数功能已经存在于日志(log)模块中,而且它是线程安全的.

如有任何意见,将不胜感激.如果确实需要自定义日志(log)格式化程序,那么任何关于从何处开始的指针都将非常棒.

推荐答案

我只是在输出文本中添加了\n个符号.

Python-3.x相关问答推荐

如何从Django连接到Neo4J s AuraDB(免费层)?'

Python将类实例变量转换为嵌套 struct

我想判断df_entry_log[AM_PM],并根据测试填充列

「Python Pandas」多级索引列和行匹配,如果列和行名称相似,则排除这些单元格中的值添加

从一列字符串中提取子字符串并将它们放入列表中

如何沿单列获取嵌套列表中的唯一值?

在 Python 中实现 COM 接口

来自嵌套字典的完整地址

Python:如何在Pandas 的 .agg 函数中使用 value_counts()?

裁剪复数以解决 exp 中的溢出错误

过滤查询集和Q运算符的不同值

如何将虚拟变量列转换为多列?

python tkInter 浏览文件夹按钮

将字节数组转换为类似字节的对象?

如何并行化文件下载?

Tensorflow:ImportError:libcudnn.so.7:无法打开共享对象文件:没有这样的文件或目录

python asyncio - 如何等待取消的屏蔽任务?

为什么中断比引发异常更快?

无论如何我可以在 Google colaboratory 中下载文件吗?

将 numpy.float64 列表快速转换为 Python 中的浮点数