OC自定义日志 (Log)

作者: ryugaku | 来源:发表于2016-02-12 01:03 被阅读2531次

OC自定义日志 (Log)

只在debug的时候输出, release的时候不输出

#ifndef DEBUG
#define NSLog(...)
#endif

输出时, 输出函数(方法)名及行数

//类名及函数(方法)名
NSLog(@"%s", __func__);
NSLog(@"%s",__FUNCTION__);
NSLog(@"%s",__PRETTY_FUNCTION__);

//行数 
NSLog(@"%d",__LINE__);

但是每次要写这些, 觉得很麻烦, 可以直接定义如下:

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

只需要用 DLog(...) 就可以在输出需要信息的同时, 还输出所在类、 函数(方法)名以及行数。 在项目文件很多的时候, 有时候各种NSLog()内容很多很杂, 分不清各个NSLog()到底写在哪里, 可以用这种方法很快找到输出所在的位置, 很方便吧. (建议直接写进 .pch 文件中)

上面是看Stack Overflow上很多人推荐的 (个人也推荐上面的写法)
下面是看传智的视频学的, DLog(...) 输出的同时可以输出所在的类名和方法名

#ifdef DEBUG
#define DLog(...) NSLog(@"%s\n %@\n\n", __func__, [NSString stringWithFormat:__VA_ARGS__])
#else
#endif

相关文章

  • OC自定义日志 (Log)

    OC自定义日志 (Log) 只在debug的时候输出, release的时候不输出 输出时, 输出函数(方法)名及...

  • golang 自定义log日志

    golang 自定义log日志

  • golang 日志模块(log)

    log 日志 log 模块可以自定义log 对象, 也可以使用log默认对象的日志方法 func New 创建lo...

  • Swift3.0之其他开发需要

    1.0自定义输出日志(log) 和OC不同的是,swift没有所谓的pch文件,即时新建了也产生不了什么作用,而且...

  • Swift自定义log以及其它

    一、自定义Log 在Swift中,我们也需要如OC一样,对log进行自定义。下面是一个我自定义的log,示例如下:...

  • 跟我一起学NodeJs之日志

    日志 访问日志access log(server端最重要的日志) 自定义日志(包括自定义事件、错误记录等) nod...

  • node 日志学习

    日志 系统没有日志,就等于人没有眼睛第一,访问日志access log第二,自定义日志 node.js 文件操作 ...

  • log4j2配置

    log4j2配置 添加依赖包 添加配置文件log4j2.xml到resources文件中 测试日志 配置自定义日志级别

  • SWIFT 的一些小知识点

    1、NSLog 在 oc 中使用NSLog,在 swift 中为 print 1.1、自定义 Log 函数 1.2...

  • 自定义Log工具

    (1) 为什么要自定义Log: 在代码编写和测试过程中,必然少不了打印Log 日志。但是,往往我们在用完了Log ...

网友评论

  • wokenshin:NSLog(@"%s", __func__);
    NSLog(@"%s",__FUNCTION__);
    NSLog(@"%s",__PRETTY_FUNCTION__);
    这三个输出的内容 都是 [CassName funcName]; 不知道有什么区别呢
  • 梦北_向南:非常感谢, 解决了我的问题。

本文标题:OC自定义日志 (Log)

本文链接:https://www.haomeiwen.com/subject/nntukttx.html