【问题标题】:What is a good size (in bytes) for a log file?日志文件的合适大小(以字节为单位)是多少?
【发布时间】:2009-10-05 16:32:49
【问题描述】:

我使用的是pythonlogging模块RotatingFileHandler,可以设置每个日志文件的最大大小。日志文件的最大大小是多少?请以字节为单位给出答案。

【问题讨论】:

    标签: python logging


    【解决方案1】:

    我的默认日志设置:

    RotatingFileHandler(filename, maxBytes=10*1024*1024, backupCount=5)
    

    【讨论】:

    • 换句话说:10 MiB。
    • 复制这个,maxBytes=10485760
    【解决方案2】:

    正如其他答案所说,没有硬性和快速的答案。这在很大程度上取决于您的应用程序和您的环境。这是我使用的一些准则。

    对于典型服务器上的多用户应用: 将您的日志配置为每个用户操作生成不超过 1 或 2 个用于生产的条目,然后每天轮换它。保留尽可能多的磁盘空间或数据保留/隐私策略允许的天数。如果您想要审计,您可能需要一个单独的解决方案。

    对于单用户应用: 尝试并保留足够的信息来诊断可能发生的任何奇怪的事情。但是,每个用户操作不超过 2 或 3 个条目,除非您正在执行批处理操作。不要在文件中放置超过 2MB 的大小,以便用户可以通过电子邮件发送给您。不要保留超过 50MB 的日志,因为这可能不是您在这里浪费的空间。

    【讨论】:

    • 关于通过电子邮件发送日志的好点子,这实际上让我不得不做出决定。谢谢。
    【解决方案3】:

    对我来说,大小并不像 按合理的时间顺序划分那么重要。我更喜欢每天一个日志文件,但是,如果您使用的任何记事本程序都无法打开该文件,那么它太大了,您可能希望使用每小时日志。

    【讨论】:

    • 但是不要使用 Windows notepad.exe 作为测量工具,因为它在打开任何稍微大一点的东西时都非常糟糕(至少到 Windows XP,也许会更好)。
    • Joachim:不过,如果你只有这些,那么你宁愿想要一个可以打开的日志文件。
    【解决方案4】:

    这完全取决于系统的外部变量。例如:

    • 您是在唯一外部存储为 1MB SD 卡的嵌入式设备上运行,还是对 1TB 硬盘具有完全访问权限?
    • 您是在每次进入/退出函数时都记录,还是只记录整个系统中捕获的一两个异常?
    • 这些日志的目的是要发回给开发人员以获得支持吗? 1kb 的日志文件对您帮助不大,但您可能不需要 200MB 的日志来解决单个支持问题。

    没有这些细节,你的问题就没有好的答案(即使这些细节也可能没有好的答案)。

    【讨论】:

    • 我每次在调试模式下进入/退出函数时都会记录。我发现它很有用,所以在这种情况下我应该设置日志文件的大小?函数是通过 SQLAlchemy 用于数据库的 crud 函数。
    • @Ivan:由于它在调试模式下运行,您可能有一些空间来根据需要调整设置。从 250k 之类的值开始,如果您的应用程序的数据库过于密集而无法在其中容纳其日志,请根据需要增加大小。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-30
    • 1970-01-01
    • 2021-06-27
    • 2011-11-02
    • 2013-05-03
    • 1970-01-01
    相关资源
    最近更新 更多