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
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

ios 将NSLog日志重定向输出到文件中保存

// // ZJAppDelegate.m // Example // // Created by laizhenjie on 14-5-7. // Copyright (c) 2014年 L...
  • laencho
  • laencho
  • 2014年05月07日 10:31
  • 1677

12.iOS格式化日志输出的方法以及在发布状态自动关闭NSLog方法

1.自定义类的格式化日志输出         当我们自定义一个类,需要打印该类对应的对象信息时,往往只能打印出他们的内存,如果我们想打印出我们想看到的一些数据成员就必须要一一打印,这样往往比较麻烦。所...

iOS pch文件的作用和用法(附:在release版本禁止输出NSLog内容)

一. pch文件的作用和用法(Xcode > 4.0) pch全称是“precompiled header”,也就是预编译头文件。 开发的过程中可以将广泛使用的头文件以及宏包含在该文件下,编译器会自动...

iOS nslog 使用 十六进制输出

1. 数据类型简介及输出 (1) 数据类型简介  数据类型简介 : Object - C 数据类型 分为 基本数据类型, 构造类型 和 指针...

Object-C NSLog 常用输出基本数据类型格式

先上图: 输出语句:                NSLog(@"%@",var); 补充说明: NSString 类型(字符串) %@ Bool 类型 %i Bool类型值默认为Fals...

Xcode8禁止系统log&真机调试NSLog无输出

解决使用Xcode 8希望屏蔽无用的系统log信息以及真机调试时NSLog无输出的问题

Objective-C中的一些特殊的数据类及NSLog的输出格式

在Objective-C中,有一些我们之前并不熟悉但是经常见到的数据类型,比如id、nil、Nil、SEL等等。在很多文章里,我们都见过这些数据类型的介绍,但是都没有说的太清楚。 这篇文章从最底...
  • wowmboy
  • wowmboy
  • 2013年02月15日 00:22
  • 695

NSLog 屏蔽输出 ---define

使用NSLog的一个风险是:它的运行会占用时间和设备资源。当我们用Simulator时,NSLog的资源占用并不引人注意,风险也不会显示出来。但是如果你写的是一个即时战略游戏,而你在每一个action...
  • a287971
  • a287971
  • 2012年05月31日 11:30
  • 336

iOS数据类型简介及NSLog打印输出

1. 数据类型简介及输出 (1) 数据类型简介  数据类型简介 : Object - C 数据类型 分为 基本数据类型, 构造类型 和 指针类型; -- 基本数据类型 : 整型...
  • tanhj
  • tanhj
  • 2017年05月19日 13:27
  • 2124
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:NSLog输出
举报原因:
原因补充:

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