PyTest记录两个单独的日志文件

时间:2019-06-06 18:33:40

标签: python-3.x logging pytest

我需要报告顶级信息,作为日志文件log1中测试日志记录的一部分,以及来自log2中各种测试模块的所有其他日志。  当前的全局记录器log1在conftest.py中定义,所有模块都使用该记录器并按预期记录日志。在log1中。

logger = logging.getLogger('')
logger.setLevel(LOG_LEVEL)
handler = logging.FileHandler(LOG_FILE)
handler.setFormatter(LOG_FORMAT)
handler.setLevel(LOG_LEVEL)
logger.addHandler(handler)

我在同一文件中定义了单独的记录器,供报告模块使用。

log = logging.getLogger(separate)
log.setLevel(LOG_LEVEL)
handler = logging.FileHandler(“different file”)
handler.setFormatter(LOG_FORMAT)
handler.setLevel(LOG_LEVEL)
log.addHandler(handler)

我的问题/问题是

  1. 在我的报告模块中,我仅使用log.info,但log1和log2都在记录它。如何分离它们?我希望它们只能记录在log2中。
  2. 我尝试将单独的记录器放在“报告”模块中,但得到的结果相同。
  3. 此外,我注意到所有其他测试日志也都记录在log2中(它们应该只记录在log1中)

基本上,两个记录器基本相同,并被写入两个文件。我想念什么。

此外,捕获此类信息的最佳方法是什么?目前,我正在将该信息捕获为测试,但从技术上讲,这不是测试。 我确实看过SO示例和其他问题,但看起来好像缺少了一些东西,无法解决此问题。谢谢您的帮助。

更新:     logger是不应该用于收集信息的python工具。使用.txt文件记录其他信息比重载logger更好。

0 个答案:

没有答案