代码之家  ›  专栏  ›  技术社区  ›  Redwood

使用Google Toolbox for Mac登录到文件时日志文件滚动

  •  0
  • Redwood  · 技术社区  · 16 年前

    我正在使用谷歌工具箱为Mac的GTMLogger做登录到我正在开发的应用程序中的文件。

    我正在决定当文件足够大时如何进行日志文件滚动。

    理想情况下,我想要像log4net的即时滚动,当日志文件在任何时候达到1 MB,最多11个日志文件,但我没有看到任何内置的方式来做这一点,我想知道,如果试图添加它是比它的价值更麻烦。

    我能想到的更简单的选择就是在应用程序启动时进行这个检查,并滚动它超过一定大小的日志。当然,这样做的缺点是,如果有人让应用程序运行一到两周(由于应用程序的一部分是启动的守护进程,这对于很少重新启动的人来说是绝对可能的),在这段时间内可能会建立一个非一般大小的日志文件(取决于启用的日志级别)。

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

    1 回复  |  直到 16 年前
        1
  •  1
  •   Jeremy W. Sherman    16 年前

    您担心只在启动时进行检查可能不够频繁。所以,在启动时在runloop中抛出一个计时器,以立即触发日志检查,此后每天或每天两次。如果你的目标是一次最多使用1兆字节,即使你确实超过了限制一段时间,这可能不会有太多的关系。

    您也可以看看log4net是如何实现这一特性的:它和挂接每个特性一样简单。 Append() 检查是否满足大小/日期限制,并在必要时调整记录到的文件。查看 RollingFileAppender source code 为了进一步的细节;从 AdjustFileBeforeAppend() 然后退房 RollOverSize() . 这是Apache:使用源代码!

    推荐文章