我正在尝试了解日志文件如何与 Python 2 logging
module 一起工作.
我知道我可以使用类似以下内容将日志输出保存到文本文件中:
logging.basicConfig(filename='example.log',level=logging.DEBUG)
我不清楚以下文档:
- 绝对
filename
路径是否有效 - 指定相对 路径的正确语法(假设
../example.log
有效)。
如果我从 /home/bob
执行此脚本,我如何指定我希望将日志文件保存到 /tmp
目录 - 使用绝对和相对路径?
logging.basicConfig(filename='../../tmp/example.log')
有效吗?
同样,logging.basicConfig(filename='/tmp/example.log')
是否有效?
最佳答案
当只声明文件名时,它将被写入当前目录。 使用 Python IDLE,您可以按如下方式检查
>>> import logging
>>> logging.basicConfig(filename='relative.log')
>>> logging.info('test')
C:\Python27\relative.log
我的工作目录是 Python27,我在那里有一个名为 relative.log 的文件,其中包含我记录的消息。
当您将文件位置更改为 ../relative.log
时,我在 Python27 的父目录中获得了一个新文件。所以相对路径确实适用于日志记录:
>>> import logging
>>> logging.basicConfig(filename='../relative.log')
>>> logging.info('test123')
C:\relative.log
并且logging
模块也支持绝对路径:
>>> logging.basicConfig(filename=r'c:\abs_path.log')
>>> logging.info('test')
C:\abs_path.log
使用绝对路径总是更好,因为显式优于隐式。
关于python - 在 Python 2 中指定自定义日志记录 Linux 文件路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45983640/