从python日志记录中捕获“内存不足错误”

时间:2013-09-30 17:53:21

标签: python linux logging exception-handling ioerror

我正在运行一个python脚本,用于下载数据并对其进行处理。我也记录了一些关键信息。我的问题是,如果日志记录写入文件,我将如何捕获因日志记录引发的内存不足异常。我是否必须将所有日志记录调用放在一个尝试中,除了?

2 个答案:

答案 0 :(得分:0)

而不是在已经太晚的情况下捕捉异常。您可以监视资源使用情况或指定限制。

你的意思是RAM还是磁盘空间?

对于磁盘空间,您可以限制日志的大小,使用旋转日志可能很有用,您可以在其中指定日志的最大大小。请参阅RotatingFileHandler以及其他日志处理程序。 http://docs.python.org/2/library/logging.handlers.html

在Linux上,您可以通过resource模块监控进程使用的内存量。

import resource
print 'Process uses:', resource.getrusage(resource.RUSAGE_SELF).ru_maxrss, "kb"

答案 1 :(得分:0)

您可以创建自己的日志记录类,该类从日志记录派生,但在try: ... expect:子句中调用日志。