- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我想将 NSog()
重定向到文件,但仍要在控制台中查看输出。我知道可以使用以下方法将 stderr
重定向到文件:
freopen("file.log", "a+", stderr);
但在将其重定向到文件后,日志不再显示在控制台输出中。
我可以围绕 NSLog()
构建自定义包装器,但我不会获得在应用程序崩溃时写入 stderr
的崩溃日志。
我也在试验 dup()
和其他复制文件描述符的方法,但输出是在文件或控制台中的以太币,而不是在两者中。
这里问了类似的问题: Write stderr on iPhone to both file and console但没有接受的答案,或者建议使用 NSLog() 包装器。
有人知道如何管理这项工作吗?提前致谢。
更新:重定向最重要的部分是将系统错误日志 (stderr) 写入控制台和文件。
最佳答案
我们实现的方式是:
if (!isatty(STDERR_FILENO)) {
// Redirection code
}
这是基于一般假设,即如果连接了控制台,则不需要将这些日志存储在文件中,因为您已经在调试了。因此,无论何时连接控制台,都会在那里打印日志,否则将保存到文件中。
关于objective-c - NSLog() 到控制台和文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9619708/
我是 Mac OS 编程的新手。我想知道 NSLog 在哪里定义? 最佳答案 在NSObjCRuntime.h文件中: FOUNDATION_EXPORT void NSLog(NSString *f
我不明白这里发生了什么。我有一个按钮连接到 AppDelegate 中的以下操作: - (IBAction)openWindow:(id)sender { self.winCon = [[NS
#import int main (int argc, const char * argv[]) { NSAutoreleasePool * pool = [[NSAutoreleasePo
我有一个 Xcode 项目,我已经工作了几个月了。我从来没有遇到过 NSLog 问题,但升级到 Xcode 4.2 后,控制台上不会记录任何内容。我什至尝试将其放入 viewDidLoad 中:
首先,当我使用 nslog 记录数组的内容时,为什么数组中的某些对象(所有字符串)都有引号,而有些则没有? 日志将如下所示: "Item 1", "item 2", item3, "item4" 这引
我很不幸地提交了一个 NSLog 仍然处于事件状态的应用程序。它很少触发,但我想知道我的应用程序因此被拒绝的可能性有多大? 我不是在问如何抑制 NSLogs。我已经知道该怎么做了。它只是一个错误进入的
我正在尝试使用 NSLog 来打印控制台消息。问题是有时我在调用它时收到“EXC_BAD_ACCESS”错误 -(void)willRotateToInterfaceOrientation:(UIIn
我的 Mac OS X 应用程序中有以下代码行: NSLog(@"number of items: %ld", [urlArray count]); 我收到警告:“格式指定类型‘long’,但参数类型
与 NSLog 功能最接近的 Core Foundation 函数是什么? 最佳答案 CFShow() 类似,但没有前缀。或者,正如 wbyoung 所说,使用 NSLog()。如果您不想使用 Obj
NSNumber *weekNum = [dictionary valueForKey:@"inSeasonFor"]; NSDecimalNumber *newWeekNum = ([weekNum
我目前正在开发一个低功耗蓝牙应用程序,我想在其中使用 NSLog 来打印我收集到的信息。 这是我在 didUpdateValueForCharacteristic 方法末尾使用的代码,此时所有属性都已
当我尝试用它NSLog我的图像时; NSLog([images description]); 这出现了: 2012-06-05 10:31:38.801 Project1[1180:1a303] (
我如何准确地检测对象的坐标,例如名为“content”的 View ,并将其输出到日志中?感谢您的帮助! 最佳答案 你也可以这样做 NSLog(@"position: %@",NSStringFrom
-(void) print { NSLog(@"%i/%i", numberator, denominator); } Fraction *myFraction = [Fraction n
我有一部连接到 Xcode 的 iPhone。我在主页上有一个 NSLog(@"test")。当我从 Xcode 构建(运行)我的应用程序时,我看到它正在调试区域打印 test。 然后...我从设备屏
关闭。这个问题是opinion-based .它目前不接受答案。 想要改进这个问题? 更新问题,以便 editing this post 可以用事实和引用来回答它. 关闭 9 年前。 Improv
这个问题在这里已经有了答案: 关闭 10 年前。
我是 Objective-C 的新手,我开始学习简单的东西。在本例中,我想使用 * 符号创建一个 金字塔。 问题:每次打印 * 时,它都包含一个换行符。我怎样才能摆脱它来创建金字塔外观?我以为我必须添
我在 IBAction 中有以下代码。我想测量 AVSpeechSynthesizer 运行一个方向列表所花费的确切时间。但是,executionTime 会立即记录,而不是在循环结束时记录(返回不到
我想从两个日期之间添加的核心数据中检索所有条目。我正在使用 NSPredicate。由于我没有得到正确的结果,我尝试记录日期。它显示了以前的日期。谷歌搜索了一段时间后,我添加了 [dateFormat
我是一名优秀的程序员,十分优秀!