我正在使用python的日志记录模块。
在单元测试的情况下(我们使用 py.test),每次启动测试时,一些日志信息都会进入某个文件。在集成服务器中,每次有人推送代码(我们也使用 git :) 我们运行测试。
问题是,一旦用户 A 创建了文件,当用户 B 尝试运行测试时,测试将失败,因为用户 B 无权在同一文件上写入。
到目前为止,我们已经手动更改了文件权限,但看起来像是一个肮脏的解决方案。此外,我们虽然为每个用户创建一个日志文件,但同样感觉不对。
我们在测试中记录的代码是
logging.basicConfig(level=logging.DEBUG,
format='%(asctime)s %(name)-12s %(levelname)-8s %(message)s',
datefmt='%m-%d %H:%M',
filename='/tmp/py.test.log',
filemode='w')
log.setLevel(logging.DEBUG)
log.addHandler(logging.StreamHandler())
有没有办法避免这个问题?也许使用 filemode = 'a' 可以做到,但假设我每次都想要一个新文件(老实说,这是一个真正的问题,但我仍然想做正确的事)
谢谢 :)