使用日志记录将消息记录到数组/列表

时间:2015-07-12 04:23:32

标签: python logging

目前正在使用python日志记录将消息记录到日志文件和控制台(如果--verbose)。

如何配置日志记录以将消息记录到数组/列表中?

1 个答案:

答案 0 :(得分:5)

  1. 发布后想出这个。
  2. 将Stream用于字符串。
  3. 以下是代码片段,不包括stdout Stream和普通的logger文件句柄:

    import io
    import logging
    
    logger = logging.getLogger()
    errors = io.StringIO()
    formatter = logging.Formatter('%(asctime)s - %(module)s.%(funcName)s() - %(levelname)s - %(message)s',"%Y-%m-%d %H:%M:%S")
    eh = logging.StreamHandler(errors)
    eh.setFormatter(formatter)
    logger.addHandler(eh)
    
    logger.error("This is a test error message")
    contents=errors.getvalue()
    print("error string=>{}".format(contents))
    errors.close()