对于我的应用程序,我需要将所有类型的控制台日志保存在文本或日志文件中。我正在使用 Log4Cocoa 生成不同类型的日志。那么如何将所有这些控制台日志保存到文件中呢?有人可以帮助我吗?
谢谢
最佳答案
使用 Log4Cocoa,每个记录器都可以附加一个或多个目的地。因此,如果将文件附加程序附加到根记录器对象,则每条日志消息都将发送到该文件。当您初始化日志系统时,添加如下内容:
NSString *logFileName = @"path-to-your-log-file";
[[L4Logger rootLogger] addAppender:
[[L4FileAppender alloc] initWithLayout:[L4Layout simpleLayout]
fileName:logFileName];
如果您使用L4FileAppender
,您写入的文件可以无限增长。因此,您可以考虑使用 L4RollingFileAppender
或 L4DailyRollingFileAppender
来代替。 L4RollingFileAppender
根据文件大小滚动文件。 L4DailyRollingFileAppender
根据时间滚动文件。不管顾名思义,您可以配置 L4DailRollingFileAppender
在不同的时间段滚动(每分钟、每小时、每 1/2 天等)。 p>
如果您确实使用文件附加程序,那么您需要考虑如何从设备中获取日志文件,特别是如果您需要在应用程序的生产版本中进行日志记录。
尽管我很喜欢 Log4Cocoa 的优雅,但我最终还是切换到了 NSLogger ( https://github.com/fpillet/NSLogger ),您可能想看看。
关于ios - NSLog/Log4Cocoa 控制台日志需要保存在文件中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19005250/