【问题标题】:Making .log files persistent使 .log 文件持久化
【发布时间】:2019-01-29 21:38:29
【问题描述】:
我有一个生成 .log 文件的软件,但问题是它们不是持久的(每次程序尝试写入事件时,它可能会重写过去的事件,这是不可取的)
你知道我可以编写一个 python 脚本来检测程序何时打开 .log 文件以编写一些内容并确保他没有覆盖吗?
谢谢!
【问题讨论】:
标签:
python
file
logging
persistent-storage
python-watchdog
【解决方案1】:
在 Python 中,logging 包默认附加
import logging
logging.basicConfig(
filename=<out-path>, # to print stdout to file
format=line_format,
level=logging.DEBUG)
然后,您可以通过
写入日志文件
logging.info(.)
或logging's levels中的另一个。
【解决方案2】:
你可以使用模块记录器,这是专门用于创建日志的,如果你有无服务技术,日志可能是临时有用的,如果你想要持久化日志,你可以制作:
import logging
import logging.config
logger = logging.getLogger(__name__)
logging.config.fileConfig('mylog.log', disable_existing_loggers=False)
logger.info('It works!')
现在您可以看到一个名为 lo mylog.log 的文件名
【解决方案3】:
您正在尝试以写入模式打开日志文件。
您必须以附加模式打开文件
试试
f=open('<filename>','a')
f.write(<log entry>)
f.close()