使用fabric和python进行日志记录

2024-05-14 09:27:37 发布

您现在位置:Python中文网/ 问答频道 /正文

如何在Fabric中使用Pythonlogging模块?在

我已经在我的fabfile.py中设置了一些测试,并配置了记录器等,但是由于它使用local()来执行,我想日志记录永远不会在测试或函数模块调用中设置。在

下面是我的fabfile.py的一个示例:

from fabric.api import local
import logging
import module
def unittest(name='all'):
    logger = logging.getLogger(__name__)
    logger.setLevel(logging.INFO)
    fh = logging.FileHandler('logs/unittest.log')
    formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - ' +
                                  '%(message)s')
    fh.setFormatter(formatter)
    logger.addHandler(fh)
    logger.info('Unittest started.')
    local('py.test module')

然后在我的模块中,module.py

^{pr2}$

日志中填充了来自fabfile.py的消息,但没有来自module.py的消息


Tags: 模块namepyimport消息localformatterlogging
1条回答
网友
1楼 · 发布于 2024-05-14 09:27:37

你的模块.py此行有错误:

logger = getLogger(__name__)

它应该是:

^{pr2}$

毕竟你是对的:记录器模块.py独立于fabfile中的。如果您在pytest会话中为您的测试用例设置记录器,那么您就可以了。在

相关问题 更多 >

    热门问题