首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >logging.handlers.MemoryHandler容量参数

logging.handlers.MemoryHandler容量参数
EN

Stack Overflow用户
提问于 2016-05-10 03:12:14
回答 1查看 780关注 0票数 0

我一直在使用来自Python日志模块的MemoryHandler,与FileHandler一起使用,以便日志消息在时间关键的代码中传递到MemoryHandler,然后在稍后被刷新到FileHandler。我的设置代码是:

代码语言:javascript
复制
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)

在我用日志记录的代码的关键时刻:

代码语言:javascript
复制
logger.info('my logging message')

不过,我对capacity参数有点不确定。这是否指定了以字节为单位的大小,所以我当前的10 * 1024值提供了10 of的容量?此外,如果缓冲区达到其容量,它应该只是冲洗和继续,对吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-05-10 05:31:21

根据MemoryHandler以及它的基础BufferingHandler的实现

  • capacity指定在刷新之前保存在缓冲区中的日志记录的计数。
  • 是的,当缓冲区达到容量时,它只会刷新并继续运行(参见BufferingHandler.emit)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37128628

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档