记录目录格式?

时间:2017-01-12 22:45:22

标签: python logging

我想将测试结果从我运行测试的位置上面一级记录。所以我如何在不列出整个路径的情况下做到这一点?

logging.basicConfig(filename="test.log", level=logging.DEBUG)

1 个答案:

答案 0 :(得分:1)

这对我来说不仅仅是一个微不足道的问题 - “通过谷歌”产生了许多选项,但使用您当前的代码,这里有两个可能的解决方案:

  • 继续使用logging.basicConfig:简单的解决方案是将上面一级目录的相对路径添加到文件名中。 pythonic和跨平台的方式似乎与os.pardir
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')