我想要一个可重用的日志记录方法或函数,它可以吐出调用它的方法的名称。例子:
- (void)exampleMethod {
CustomLog(); //Outputs "exampleMethod"
}
我想要一个可重用的日志记录方法或函数,它可以吐出调用它的方法的名称。例子:
- (void)exampleMethod {
CustomLog(); //Outputs "exampleMethod"
}
函数不知道它们的调用环境(至少不是以有用的方式)。唯一的方法是改用宏。在宏内部,您可以访问保存接收器和当前选择器的self
和_cmd
参数,以及__PRETTY_FUNCTION__
包含方法的人类可读名称作为 C 字符串的宏。
请参阅如何打印出方法名称和行号并有条件地禁用 NSLog?获取此答案的灵感和其他有用的 NSLog 提示。这是我想要的:
//place in PCH file
#define ILog(fmt, ...) NSLog((@"%s [Line %d] " fmt), __PRETTY_FUNCTION__, __LINE__, ##__VA_ARGS__);
//use in any file in your project
ILog(@"test");// outputs -[AppDelegate applicationDidFinishLaunching:] [Line 38] test