【问题标题】: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()
      

      【讨论】:

        猜你喜欢
        • 2011-02-04
        • 1970-01-01
        • 1970-01-01
        • 2011-03-24
        • 1970-01-01
        • 1970-01-01
        • 2011-06-11
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多