2

我有一个生成 .log 文件的软件,问题是它们不是持久的(每次程序尝试编写一个事件时,它可能会重写过去的事件,这是不可取的)

你知道我可以编写一个 python 脚本来检测程序何时打开一个 .log 文件以写一些东西并确保他没有被覆盖吗?

谢谢!

4

3 回答 3

1

在 Python 中,logging包默认为 append

import logging

logging.basicConfig(
            filename=<out-path>, # to print stdout to file
            format=line_format,
            level=logging.DEBUG)

然后,您可以通过以下方式写入日志文件

logging.info(.)

或另一个logging级别

于 2018-08-23T14:18:23.063 回答
1

你可以使用模块记录器,这是专门用于创建日志的,如果你有无服务技术,日志可能是临时有用的,如果你想要持久化日志,你可以制作:

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 的文件名

于 2018-08-23T14:12:59.223 回答
0

您正在尝试以写入模式打开日志文件。您必须以附加模式打开文件尝试

f=open('<filename>','a')
f.write(<log entry>)
f.close()
于 2018-08-23T14:01:38.797 回答