NSLog输出

原创 2015年07月10日 17:00:44

具体请参考:

获取方法名:

NSLog(@"%@", NSStringFromSelector(_cmd))

获取当前的方法名和当前的行号,可以使用__func____LINE__ , 如下:

NSLog(@"%s:%d someObject=%@", __func__, __LINE__, someObject);

Preprocessor macros for logging

Macro Format Description
__func__ %s Current function signature
__LINE__ %d Current line number
__FILE__ %s Full path to source file
__PRETTY_FUNCTION__ %s Like __func__, but includes verbose type information in C++ code.

Expressions for logging

Expression Format Description
NSStringFromSelector(_cmd) %@ Name of the current selector
NSStringFromClass([self class]) %@ Current object’s class name
[[NSString stringWithUTF8String:__FILE__] lastPathComponent] %@ Source code file name
[NSThread callStackSymbols] %@ NSArray of stack trace

自定义NSLog输出:

#ifdef DEBUG
#   define DLog(fmt, ...) NSLog((@"%s [Line %d] " fmt), __PRETTY_FUNCTION__, __LINE__, ##__VA_ARGS__)
#else
#   define DLog(...)
#endif

// ALog always displays output regardless of the DEBUG setting
#define ALog(fmt, ...) NSLog((@"%s [Line %d] " fmt), __PRETTY_FUNCTION__, __LINE__, ##__VA_ARGS__)

或者

#ifdef DEBUG
#   define DLog(fmt, ...) NSLog((@"%s [Line %d] " fmt), __PRETTY_FUNCTION__, __LINE__, ##__VA_ARGS__);
#else
#   define DLog(...)
#endif
#define ALog(fmt, ...) NSLog((@"%s [Line %d] " fmt), __PRETTY_FUNCTION__, __LINE__, ##__VA_ARGS__);
#ifdef DEBUG
#   define ULog(fmt, ...)  { UIAlertView *alert = [[UIAlertView alloc] initWithTitle:[NSString stringWithFormat:@"%s\n [Line %d] ", __PRETTY_FUNCTION__, __LINE__] message:[NSString stringWithFormat:fmt, ##__VA_ARGS__]  delegate:nil cancelButtonTitle:@"Ok" otherButtonTitles:nil]; [alert show]; }
#else
#   define ULog(...)
#endif
版权声明:本文为博主原创文章,未经博主允许不得转载。

nslog 输出编码转义

- (NSString *)descriptionWithLocale:(id)locale {     NSMutableString *string = [[NSMutableStri...
  • zhanghaibo369
  • zhanghaibo369
  • 2017年02月15日 09:18
  • 142

关于Xcode8 iOS10下NSLog不输出的问题

昨天升级了Xcode8beta版,兴高采烈的打开工程启动模拟器后发现自己的NSLog输出在console中看不到了,查阅Xcode8 release note后发现官方的中有这么一段 When ...
  • u012243474
  • u012243474
  • 2016年10月31日 16:45
  • 1222

iOS的NSLog输出格式表

%d,%i 以带符号的十进制形式输出整数(证书不输出符号) %o 以八进制无符号形式输出整数(不输出0前缀) %x 以十六进制无符号形式输出整数(不输出0x前缀) %u 以无符号十进制形式输出整数 %...
  • u012382791
  • u012382791
  • 2016年03月13日 23:16
  • 1437

NSLog格式化输出数据——Object—C

本文转自:点击打开链接  1 . 几种常用类型变量声明     int i =10;       BOOL isShow=YES;      BOOL isShow=1;   ...
  • u011981018
  • u011981018
  • 2014年12月02日 09:17
  • 5009

Xcode8 NSLog打印json不全解决办法

据说国外的大神是这么解决的: #ifdef DEBUG #define SLog(format, ...) printf("class: method: %s \n%s\n", se...
  • sky_yang1024
  • sky_yang1024
  • 2017年02月20日 13:54
  • 1570

Xcode NSLog输出带时间、文件名、行、方法名

// 不带方法名 #define NSLog(FORMAT, ...) {\ NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] i...
  • saw471
  • saw471
  • 2017年08月29日 19:17
  • 224

关于Xcode8 iOS10下模拟器NSLog不输出的问题

昨天升级了Xcode8beta版,兴高采烈的打开工程启动模拟器后发现自己的NSLog输出在console中看不到了。什么原因?怎么解决?往下看:...
  • u010124617
  • u010124617
  • 2016年06月24日 09:56
  • 11860

何用NSLog输出NSRange,CGRect等结构体

使用对应的转换 NSStringFromCGPoint    NSStringFromCGSize   NSStringFromCGRect   NSStringFromCGAffin...
  • muyu114
  • muyu114
  • 2012年11月28日 10:54
  • 4816

NSLog的输出函数和格式符号

NSLog(@"==%d==",a); 输出十进制的整数  NSLog(@"==%9d==",a); 输出整数9位,右对齐 NSLog(@"==%==",a); NSLog(@"==%==",a)...
  • dyj1987chen
  • dyj1987chen
  • 2014年11月22日 15:57
  • 438

OC NSLog 打印格式 自定义 时间戳

oc 中 NSLog打印 1.我们在调试阶段一般需要在控制台打印一些信息,在发布的时候 ,不希望打印。 2.有时不希望信息简单些,不需要时间戳之类的信息, 3.或者想打印自己想要的信息,需要自定...
  • u011980994
  • u011980994
  • 2015年03月11日 17:44
  • 2812
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:NSLog输出
举报原因:
原因补充:

(最多只允许输入30个字)