NSLog / Log4Cocoa控制台日志需要保存在文件中

时间:2013-09-25 12:42:26

标签: ios cocoa-touch nslog

对于我的应用程序,我需要在文本或日志文件中保存所有类型的控制台日志。我正在使用Log4Cocoa生成不同类型的日志。那么如何将所有控制台日志保存到文件中?有谁可以帮助我。

由于

1 个答案:

答案 0 :(得分:1)

使用Log4Cocoa,每个记录器可以附加一个或多个目标。因此,如果将文件追加器附加到根记录器对象,则每条日志消息都将发送到该文件。初始化日志记录系统时,请添加以下内容:

NSString *logFileName = @"path-to-your-log-file";

[[L4Logger rootLogger] addAppender: 
        [[L4FileAppender alloc] initWithLayout:[L4Layout simpleLayout] 
                                      fileName:logFileName];

如果使用L4FileAppender,您编写的文件可以无限制地增长。因此,您可以考虑使用L4RollingFileAppenderL4DailyRollingFileAppenderL4RollingFileAppender根据文件大小滚动文件。 L4DailyRollingFileAppender根据时间滚动文件。尽管顾名思义,您可以配置L4DailRollingFileAppender在不同的时间段滚动(每分钟,每小时,每半天等)。

如果您确实使用了文件追加器,那么您需要考虑如何从设备中获取日志文件,特别是如果您需要登录应用程序的生产版本。

就像我喜欢Log4Cocoa的优雅一样,我最终切换到了NSLogger(https://github.com/fpillet/NSLogger),你可能想看看它。