如何在iOS中以编程方式清除.log文件的内容

时间:2014-05-21 12:42:31

标签: ios cocoa logging nslog

在我的应用程序中,我已经在以下代码的帮助下在project.log中记录了应用程序的详细信息。

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *logPath = [documentsDirectory stringByAppendingPathComponent:@"project.log"];
freopen([logPath fileSystemRepresentation],"a+",stderr);

此代码将完美记录我在nslog中定义的所有详细信息。现在我不希望我的日志文件进一步增长。所以我想清除1周或更长时间之前记录的日志文件的内容。但我需要过去7天的日志内容。是否有任何可能的解决方案来实现上述目标?

1 个答案:

答案 0 :(得分:1)

有一个简单的解决方案。这不完全是你所问的,但也许对你有价值。

启动时,请执行以下操作:

  • 检查project.log是否存在且是否大于(例如)2MB。
  • 如果不是,请使用project.log
  • 如果是:1)删除project.old.log(如果存在)。 2)将project.log重命名为project.old.log 3)登录到project.log(如果以“a +”打开则会创建)