美文网首页
iOS NSLog打印控制

iOS NSLog打印控制

作者: 赑屃王者 | 来源:发表于2020-01-14 09:30 被阅读0次

开发过程中,我们会在项目中添加很多日志以便调试,打包后这些日志并不需要,我们可以将这些日志屏蔽掉。

一、添加宏定义

#ifdef DEBUG
#define DLog(s,...) NSLog(@"%s LINE:%d < %@ >",__FUNCTION__, __LINE__, [NSString stringWithFormat:(s), ##__VA_ARGS__]);
#define DMethod() NSLog(@"%s", __func__);
#else
#define DLog(...);
#define DMethod();
#endif

在使用时直接使用Dlog就可以在release模式去掉日志

二、使用开关日志输出

添加日志输出管理方法

1. 首先在.h中添加方法

#pragma mark -- 日志方法
// 设置日志输出状态
+ (void)setLogEnable:(BOOL)enable;

// 获取日志输出状态
+ (BOOL)getLogEnable;

// 日志输出方法
+ (void)customLogWithFunction:(const char *)function lineNumber:(int)lineNumber formatString:(NSString *)formatString;

2. 在.m文件中,设置静态变量来存储日志输出状态值

// 默认值为NO
static BOOL kLogEnable = NO;

3. 实现类方法

#pragma mark -- 日志方法
// 设置日志输出状态
+ (void)setLogEnable:(BOOL)enable {
    kLogEnable = enable;
}

// 获取日志输出状态
+ (BOOL)getLogEnable {
    return kLogEnable;
}

// 日志输出方法
+ (void)customLogWithFunction:(const char *)function lineNumber:(int)lineNumber formatString:(NSString *)formatString {
    if ([self getLogEnable]) {
        // 开启了Log
        NSLog(@"%s[%d]%@", function, lineNumber, formatString);
    }
}

4. 添加宏定义

#define DLog(format,...)  [STATUtils customLogWithFunction:__FUNCTION__ lineNumber:__LINE__ formatString:[NSString stringWithFormat:format, ##__VA_ARGS__]]

使用宏定义打印就可以自己控制日志输出

5. 在使用时,实现控制方法

[Utils setLogEnable:YES];

相关文章

  • iOS NSLog打印控制

    开发过程中,我们会在项目中添加很多日志以便调试,打包后这些日志并不需要,我们可以将这些日志屏蔽掉。 一、添加宏定义...

  • iOS代码api版本适配

    if (@available(iOS 10.0, *)) { NSLog(@"iOS 10.0之后才会打印...

  • iOS让NSLog打印字典显示得更好看(解决中文乱码并显示成JS

    iOS让NSLog打印字典显示得更好看(解决中文乱码并显示成JSON格式) iOS让NSLog打印字典显示得更好看...

  • LLDB调试器

    前言 在iOS开发中经常使用NSLog进行打印调试,简单方便。NSLog每次调用会打印大量的信息,时间、名称、进程...

  • LLDB调试器

    前言 在iOS开发中经常使用NSLog进行打印调试,简单方便。NSLog每次调用会打印大量信息,时间、名称、进程等...

  • iOS xcode打印值时使用的占位符

    参考文档 iOS数据类型简介及NSLog打印输出 打印CGRect时用NSStringFromCGRect 其他 ...

  • IOS开发中 NSLog的处理

    NSLog 函数打印信息是 IOS 开发中最简单的代码调试方法,但是 NSLog 本身的性能很差,程序发布后,不应...

  • iOS - NSLog打印(精准打印)

    常用的NSLog的语句 在iOS开发过程中,调试是很重要的过程,而除了各种断点调试(普通断点、条件断点、全局断点)...

  • NSLog 打印全部信息

    NSLog 打印全部信息 宏定义 NSLog 打印中文 先写一个转义方法 NSLog 打印中文使用 可以在...

  • iOS打印frame 值时用NSStringFromCGRect

    iOS打印frame 值时用NSStringFromCGRect 或者 NSLog的格式如下所示: %@ 对象%d...

网友评论

      本文标题:iOS NSLog打印控制

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