我想将测试结果从我运行测试的位置上面一级记录。所以我如何在不列出整个路径的情况下做到这一点?
logging.basicConfig(filename="test.log", level=logging.DEBUG)
答案 0 :(得分:1)
这对我来说不仅仅是一个微不足道的问题 - “通过谷歌”产生了许多选项,但使用您当前的代码,这里有两个可能的解决方案:
import os
import logging
# setup the path to the logfile
logname = 'test.log'
logfile = os.path.join(os.pardir, logname)
# log as you are currently
logging.basicConfig(filename=logfile, level=logging.DEBUG)
另一种选择是使用logging.FileHandler python docs状态:
处理程序将日志记录(由记录器创建)发送到适当的记录 目的地。
在这种情况下,它将是您运行测试的位置上一级的位置。唯一的区别是您使用新创建的logger
对象:
#setup the logger object
logger = logging.getLogger('test')
fh = logging.FileHandler(logfile)
logger.addHandler(fh)
logger.setLevel(logging.DEBUG)
# use the logger object
logger.debug('a DEBUG')
logger.info('an info')