我有一个生成 .log 文件的软件,问题是它们不是持久的(每次程序尝试编写一个事件时,它可能会重写过去的事件,这是不可取的)
你知道我可以编写一个 python 脚本来检测程序何时打开一个 .log 文件以写一些东西并确保他没有被覆盖吗?
谢谢!
我有一个生成 .log 文件的软件,问题是它们不是持久的(每次程序尝试编写一个事件时,它可能会重写过去的事件,这是不可取的)
你知道我可以编写一个 python 脚本来检测程序何时打开一个 .log 文件以写一些东西并确保他没有被覆盖吗?
谢谢!
在 Python 中,logging
包默认为 append
import logging
logging.basicConfig(
filename=<out-path>, # to print stdout to file
format=line_format,
level=logging.DEBUG)
然后,您可以通过以下方式写入日志文件
logging.info(.)
或另一个logging
级别。
你可以使用模块记录器,这是专门用于创建日志的,如果你有无服务技术,日志可能是临时有用的,如果你想要持久化日志,你可以制作:
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 的文件名
您正在尝试以写入模式打开日志文件。您必须以附加模式打开文件尝试
f=open('<filename>','a')
f.write(<log entry>)
f.close()