好的,在我的environment.py文件中,我可以通过以下方式记录内容:
logging.basicConfig(level=logging.DEBUG, filename="example.log")
def before_feature(context, feature):
logging.info("test logging")
但是当我在步骤文件中时,我无法执行日志记录:
logger = logging.getLogger(__name__)
logger.setLevel(logging.DEBUG)
@given("we have a step")
def step_impl(context):
logger.debug("Test logging 2")
步骤中的日志消息未显示。我正在使用python行为模块。有什么想法吗?
我在运行行为时尝试启用和禁用logcapture,但它没有任何区别。
答案 0 :(得分:1)
对我有用的东西
behave --no-capture --no-capture-stderr --no-logcapture
并添加环境。py如下所示:
def after_step(context, step):
print("")
为什么:我发现行为无法记录步骤的最后一个打印语句。因此,我只是在每个步骤之后都添加了一个空白打印。
希望有帮助
答案 1 :(得分:0)
在步骤.py中从environment.py导入日志记录为我解决了问题。
from features.environment import logging
我不确定,但是我想问题是每次导入日志记录时都会重写以前的配置,因为disable_existing_loggers
默认为True。 (Here是说明这一点的文档段落)