【问题标题】:How can I configure logging in Locust?如何在 Locust 中配置日志记录?
【发布时间】:2020-12-03 00:24:35
【问题描述】:

使用locust 1.4.1 和讨论日志记录的文档 (here) 提到我可以使用--skip-log-setup 选项提供我自己的日志记录配置。

我的问题是:

  • 使用--skip-log-setup 时,没有出现日志记录,我尝试在测试文件中添加记录器,但没有任何效果。
  • 不使用--skip-log-setup,当我使用logging.getLogger('MyLogger') 时,我无法删除带有logger.removeHandler(...) b/c 的处理程序,即使我在执行测试时创建了'MyLogger',也没有任何反应。

我的代码有自己的记录器,但我希望 需要 stdout 中的蝗虫记录器(目前我的记录器同时进入标准输出和文件)。我想从我的代码中删除标准输出记录器:

locust -f <my_file.py> --headless

然后在 Locust 文件中:

import logging
from locust import HttpUser
import my_class  # 'MyLogger' defined here with 2 handlers: file and stdout

my_logger = logging.getLogger('MyLogger')
handler = logging.handlers[1]  # 0 is file, 1 is stdout, but comes back as []!


class MyTest(HttpUser):
  blah

希望这是有道理的。让我知道是否需要澄清。

【问题讨论】:

    标签: locust python-logging


    【解决方案1】:

    好的,找到适合我需要的东西。

    使用 --skip-log-setup 运行 Locust,这将使 Locust 没有任何日志记录。

    locust -f my_file.py --headless --skip-log-setup <other params>
    

    然后在测试文件中:

    # Set root logging
    logging.getLogger().setLevel('DEBUG')
    
    # Add stdout to locust logging
    logger = logging.getLogger('locust')
    logger.addHandler(logging.StreamHandler(sys.stdout))
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-08-29
      • 2011-10-18
      • 1970-01-01
      • 2016-07-23
      • 1970-01-01
      • 1970-01-01
      • 2012-05-30
      • 1970-01-01
      相关资源
      最近更新 更多