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