【问题标题】:Log file rollover when logging to file using Google toolbox for Mac使用适用于 Mac 的 Google 工具箱记录到文件时记录文件翻转
【发布时间】:2009-09-11 16:50:08
【问题描述】:

我正在使用 Google toolbox for Mac 的 GTMLogger 来记录我正在开发的应用程序中的文件。

我正在尝试决定当文件变得足够大时如何进行日志文件翻转。

理想情况下,当日志文件在任何时候达到 1 mb 且最多 11 个日志文件时,我想要类似 log4net 的立即翻转,但我没有看到任何内置方法可以做到这一点,我想知道是否尝试添加它的麻烦大于它的价值。

我能想到的更简单的选择是在应用程序启动时进行此检查并将日志滚动到超过一定大小。这样做的缺点当然是如果有人让应用程序运行一两个星期(并且由于应用程序的一部分是启动守护程序,这对于那些很少重新启动的人来说肯定是可能的),可能会有一个非日志文件- 在此期间建立的微不足道的大小(取决于启用的日志记录级别)。

我在这里的最佳选择是什么?

【问题讨论】:

    标签: cocoa logging google-toolbox-for-mac


    【解决方案1】:

    您担心仅在启动时检查可能不够频繁。因此,在启动时在 runloop 中放置一个计时器以立即触发日志检查,之后每隔一两天触发一次。如果您的目标是一次最多使用 1 MiB,即使您确实超过了一段时间的限制,也可能没有那么重要。

    您也可以看看 log4net 如何实现此功能:就像挂钩每个 Append() 以检查是否满足大小/日期限制并在必要时调整记录到的文件一样简单。有关详细信息,请参阅RollingFileAppender source code;从AdjustFileBeforeAppend() 开始,然后查看RollOverSize()这是 Apache:使用源代码!

    【讨论】:

    • 我们最终扩展了 GTM 的日志记录以支持此功能。
    猜你喜欢
    • 2011-03-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-24
    相关资源
    最近更新 更多