【问题标题】:How to Deal with the Logger File Size Properly in Python?如何在 Python 中正确处理 Logger 文件大小?
【发布时间】:2013-10-07 03:04:30
【问题描述】:

我正在使用以下代码进行日志记录

logging.basicConfig(filename=os.environ['USERPROFILE']+'\\myApp', level=logging.DEBUG, format='%(asctime)s - [Thread-%(thread)d] - [Process-%(process)d] - %(levelname)s - %(funcName)s - %(lineno)d - %(message)s')

有了这个日志,我们可以实现日志文件的 FileSize 限制,比如如果日志文件大小超过 5MB,那么我想把它写到新文件中。

在 Java 中,我们可以在 logback.xml 中提及文件大小,如下所示

 <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
  <maxFileSize>10MB</maxFileSize>
 </triggeringPolicy>

【问题讨论】:

    标签: python logging python-2.7 operating-system


    【解决方案1】:

    使用RotatingFileHandler。这需要 maxBytesbackupCount 关键字参数。来自文档:

    您可以使用 maxBytesbackupCount 值来允许文件 以预定大小翻转。当大小即将 超过,文件被关闭,一个新文件被静默打开 输出。每当当前日志文件接近时,就会发生翻转 maxBytes 长度;如果maxBytes 为零,则永远不会发生翻转。如果 backupCount 非零,系统将保存旧的日志文件 将扩展名“.1”、“.2”等附加到文件名。为了 例如,backupCount 为 5,基本文件名为 app.log,您 会得到 app.log、app.log.1、app.log.2,直到 app.log.5。文件 被写入的始终是 app.log。当这个文件被填满时,它是 关闭并重命名为 app.log.1,如果文件 app.log.1、app.log.2、 等存在,然后将它们重命名为 app.log.2、app.log.3 等。 分别。

    【讨论】:

      猜你喜欢
      • 2014-05-22
      • 2015-08-19
      • 1970-01-01
      • 1970-01-01
      • 2020-04-18
      • 2013-11-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多