提问人:Marius 提问时间:5/10/2016 更新时间:5/10/2016 访问量:917
logging.handlers.MemoryHandler 的 Capacity 参数
Capacity argument for logging.handlers.MemoryHandler
问:
我一直在使用 Python 的日志记录模块,与 配对,以便日志消息进入时间关键代码,然后刷新到稍后的代码。我的设置代码是:MemoryHandler
FileHandler
MemoryHandler
FileHandler
logger = logging.getLogger('timing_log')
logger.setLevel(logging.INFO)
formatter = logging.Formatter('%(message)s')
file_handler = logging.FileHandler('my_log.txt')
file_handler.setFormatter(formatter)
memory_loghandler = logging.handlers.MemoryHandler(
capacity=10 * 1024,
flushLevel=logging.ERROR,
target=file_logger
)
memory_loghandler.setFormatter(formatter)
logger.addHandler(memory_loghandler)
在代码的关键部分,我记录:
logger.info('my logging message')
然而,我对这个论点有点不确定。这是否指定了以字节为单位的大小,所以我的当前值给出了 10KB 的容量?此外,如果缓冲区达到其容量,它应该刷新并继续,对吗?capacity
10 * 1024
答:
1赞
Lei Shi
5/10/2016
#1
根据 MemoryHandler 及其基本 BufferingHandler 的实现:
capacity
指定在刷新之前保留在缓冲区中的日志记录的计数- 是的,当缓冲区达到其容量时,它只是刷新并继续(请参阅 BufferingHandler.emit)
评论
0赞
Marius
5/10/2016
谢谢,我以为容量会以字节或位为单位指定大小,但看起来你是对的,它是记录数。
上一个:用相应的行和填充矩阵的所有单元格
下一个:Numpy 矢量化小于/大于比较
评论