nosetests:如何显示自定义日志记录

nosetests: how to show customized logging

我有以下 python 文件 fct.py。如果我 运行 test1() 或 test2() 直接在 python 或 ipython 中,我得到:

In [315]: test1()
fct - fct.py[line:9] 2017-01-02 17:23:22,992 : DEBUG :  debug output

In [316]: test2()
fct - fct.py[line:9] 2017-01-02 17:23:26,393 : DEBUG :  debug output    

如果我运行

nosetests -v fct.py

我得到:

test1 logging ... ok
test2 logging ... ok
Ran 2 tests in 0.000s

OK    

无日志输出"debug output"。

如何在 nosetests 中获取日志消息 "debug output"?我稍微阅读了 nosetests -h 和 google,但似乎找不到解决方案。感谢您的帮助或指点。

''' fct.py ''' 
import logging

LOGGER = logging.getLogger(__name__)
LOGGER.addHandler(logging.NullHandler())

def fct():
    ''' fct logging '''
    LOGGER.debug(" debug output")

def test1():
    ''' test1 logging '''
    fct()
    assert 1==1

def test2():
    ''' test2 logging '''
    logging.basicConfig(level=logging.DEBUG)
    fct()
    assert 1==1
nosetests --nologcapture fct.py

会成功的