我正在使用python的日志记录模块。在
在单元测试的情况下(我们使用py.测试)每次启动测试时,都会有一些日志信息保存到某个文件中。在集成服务器中,每次有人推送代码(我们也使用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'可以做到,但是假设我每次都需要一个新文件(老实说,这是一个真正的问题,更令人好奇的是,我还是想把它做对)
谢谢:)