如何为测试执行创建日志文件

Ope*_*ile 1 python logging automation

我正在尝试创建一个testcontroller,并希望将测试的执行收集到一个文件中.

我知道使用,tee和重定向测试脚本执行到某个文件,但我有兴趣用python over linux.

因此,在这种情况下,只要执行测试,就应该创建日志文件,并且应该将所有执行日志(包括stdin,stdout和stderr)收集到此文件中.

请求一些机构建议我,如何实现这种想法!

谢谢OpenFile

unm*_*ted 5

有几个很好的日志记录模块,从内置开始logging,这是官方的食谱.在更有趣的第三方库中,Logbook,这是一个非常简单的例子,只是在其非常酷的功能的表面:

import logbook

def f(i,j):
    return i+j

logger = logbook.Logger('my application logger')
log = logbook.FileHandler('so.log')
log.push_application()

try:
    f(1, '2')
    logger.info('called '+f.__name__)
except:
    logger.warn('failed on ')


try:
    f(1, 2)
    logger.info('called '+f.__name__)
except:
    logger.warn('choked on, ')
Run Code Online (Sandbox Code Playgroud)

so.log 然后看起来像这样:

[2011-05-19 07:40] WARNING: my application logger: failed on
[2011-05-19 07:40] INFO: my application logger: called f
Run Code Online (Sandbox Code Playgroud)