0

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

谢谢

4

1 回答 1

1

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

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

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

如果您使用L4FileAppender,您写入的文件可以无限增长。因此,您可以考虑使用L4RollingFileAppenderorL4DailyRollingFileAppender代替。根据L4RollingFileAppender文件大小滚动文件。根据L4DailyRollingFileAppender时间滚动文件。尽管顾名思义,您可以配置L4DailRollingFileAppender在不同的时间段滚动(每分钟、每小时、每 1/2 天等)。

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

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

于 2013-09-25T15:41:43.580 回答