当前位置: 首页 > 面试题库 >

如何在python中限制日志文件大小

漆雕稳
2023-03-14
问题内容

我正在使用Windows 7和python
2.7。我想将日志文件大小限制为5MB。我的应用程序启动后会写入日志文件,然后该应用程序终止。当我的应用再次启动时,它将写入同一日志文件。因此应用无法持续运行。应用程序启动,处理和终止。

我的记录代码是:

import logging
import logging.handlers
logging.basicConfig(filename=logfile.log, level="info", format='%(asctime)s %(levelname)s %(funcName)s(%(lineno)d) %(message)s')
logging.info("*************************************************")

我尝试过 RotatingFileHandler, 但是没有用

logging.handlers.RotatingFileHandler(logFile, mode='a', maxBytes=5*1024*1024, backupCount=2, encoding=None, delay=0)

那么,如何在python中实施文件大小限制?


问题答案:

丢失basicConfig()并使用RotatingFileHandler:

import logging
from logging.handlers import RotatingFileHandler

log_formatter = logging.Formatter('%(asctime)s %(levelname)s %(funcName)s(%(lineno)d) %(message)s')

logFile = 'C:\\Temp\\log'

my_handler = RotatingFileHandler(logFile, mode='a', maxBytes=5*1024*1024, 
                                 backupCount=2, encoding=None, delay=0)
my_handler.setFormatter(log_formatter)
my_handler.setLevel(logging.INFO)

app_log = logging.getLogger('root')
app_log.setLevel(logging.INFO)

app_log.addHandler(my_handler)

while True:
    app_log.info("data")


 类似资料:
  • partition/data只有15G,kafka日志文件夹是-/data/var/kafka/kafka-logs data/var/kafka/kafka-logs下的大多数文件夹大小为4K-40K 但两个文件夹的大小非常大--5G-7G,这导致/数据是100%

  • 问题内容: 我想在不阻塞或锁定的情况下在Python中提供tail -F或类似内容的输出。我在这里找到了一些非常老的代码来执行此操作,但是我认为现在必须有更好的方法或库来执行相同的操作。有人知道吗? 理想情况下,我希望每次需要更多数据时都可以打电话给我。 问题答案: 非阻塞 如果你使用的是Linux(因为Windows不支持在文件上调用select),则可以将subprocess模块​​与sele

  • 问题内容: 编辑:由于似乎没有解决方案,或者我正在做一些人都不知道的非标准操作-我将修订我的问题,并问:当python应用正在制作日志时,完成记录的最佳方法是什么?很多系统调用? 我的应用程序有两种模式。在交互模式下,我希望所有输出都转到屏幕以及日志文件中,包括所有系统调用的输出。在守护程序模式下,所有输出进入日志。守护程序模式使用时效果很好。我找不到在不修改每个系统调用的情况下以交互方式将所有输

  • 我有下面的log4j2。xml文件: 如何修改此配置,以便 > 有人知道如何实现这样的目标吗?当然,如果单独使用log4j2就可以实现这样的事情,那就太好了。但是也许有一种方法可以将log4j2与某种外部程序结合起来,该程序将与主Java应用程序一起运行,并删除多余的日志文件,同时保持最后两个日志文件完好无损。所以如果有人对1有至少的建议。,它可能已经是我正在寻找的。因为我也许能为第二部分写一个程

  • 问题内容: 我得到这个错误说 上传大约30MB的视频时, 这是设置代码 不确定如何设置maxFieldsSize属性,需要一些帮助!!! 问题答案: Express使用连接中间件,您可以使用以下命令指定文件上传大小 连接限制中间件

  • 我犯了个错误 当上传一段大约30MB的视频时, 这里是设置代码 我不知道如何设置maxFieldsSize属性,需要帮助!!!