DDLog-不同颜色打印信息

文章转载自:http://www.cnblogs.com/hxwj/p/5036358.html

(一)下载安装

1.安装插件

XcodeColors

Github 链接:https://github.com/robbiehanson/XcodeColors

打开XcodeColors项目,编译即可。它会在你的电脑中安装插XcodeColors.xcplugin。具体路径在:~/Library/Application Support/Developer/Shared/Xcode/Plug-ins/XcodeColors.xcplugin(可以去瞅一眼)。

2.引入第三方库

CocoaLumberjack

Github 链接:https://github.com/CocoaLumberjack/CocoaLumberjack

3.修改你的打印信息啦把NSLog换成DDLog打印咯,最好新项目用啦

(二)DDLog的一些介绍

DDLog:基础类,必须引入的。

DDASLLogger:支持将调试语句写入到苹果的日志中。一般正对Mac开发。可选。

DDTTYLogger:支持将调试语句写入xCode控制台。我们即使要用它。可选。

DDFileLogger:支持将调试语句写入到文件系统。可选。

DDLog的输出级别默认提供以下若干种:

DDLogError:定义输出错误文本

DDLogWarn:定义输出警告文本

DDLogInfo:定义输出信息文本

DDLogDebug:定义输出调试文本

DDLogVerbose:定义输出详细文本

提供的日志级别为:

LOG_LEVEL_ERROR:只显示错误日志。

LOG_LEVEL_WARN:包括:LOG_LEVEL_ERROR

LOG_LEVEL_INFO:包括:LOG_LEVEL_WARN

LOG_LEVEL_DEBUG:包括:LOG_LEVEL_INFO

LOG_LEVEL_VERBOSE:包括:LOG_LEVEL_DEBUG

LOG_LEVEL_OFF:关闭日志

(三)DDLog的部分使用

#import "CocoaLumberjack.h"

    static const int ddLogLevel = DDLogLevelVerbose;// 定义日志级别
    [DDLog addLogger:[DDTTYLogger sharedInstance]];// 初始化DDLog日志输出,在这里,我们仅仅希望在xCode控制台输出
    [[DDTTYLogger sharedInstance] setColorsEnabled:YES];// 启用颜色区分
    DDLogError(@"错误信息"); // 红色
    DDLogWarn(@"警告%@",@"asd"); // 橙色
    DDLogInfo(@"提示信息:%@",@"嘎嘎"); // 默认是黑色
    DDLogVerbose(@"详细信息error:%d",1016); // 默认是黑色

打印效果:

tips: 如果打印颜色没有变

  • 打开Product -> Edit Scheme
  • 选择Run->"Arguments" tab
  • 增加一个新的Environment Variable ,命名为"XcodeColors",值赋为YES
  • ok,现在是见证奇迹的时刻,在运行一次,你就能看到。
时间: 2024-10-12 02:30:54

DDLog-不同颜色打印信息的相关文章

python 在控制台中用不同颜色打印信息

echo "\033[41;36m something here \033[0m" 其中41的位置代表底色, 36的位置是代表字的颜色

WPF 使用Console.Write打印信息到控制台窗口中

WPF中使用Console.Write函数来打印信息是没有意义的,因为并没有给其输出字符的窗口.对于桌面程序来说,这是十分合理的,然而有时为了方便调试,在程序编写过程中打印出信息给程序员看还是必要的,利用Windows的API,在DEBUG的时候打开一个控制台窗口以供信息打印显示. 创建一个管理类 public static class ConsoleManager { private const string Kernel32_DllName = "kernel32.dll"; [D

OK335xS 网络连接打印信息 hacking

/*********************************************************************** * OK335xS 网络连接打印信息 hacking * 说明: * 当我们插入网线的时候,经常会看到对应的网卡已连接,当前属于10M. * 100M网卡工作状态等等信息,那么这些信息是如何被输出的,工作机制是什么, * 网卡的速度是由phy决定的还是由mac决定的,是不是在phy对应的中断里处理, * 等等,这些内容都需要去确认. * * 2016-

[MapReduce]MapReduce调试:在TaskTracker节点上查看打印信息

业务背景 MapReduce编程模型的线上调试并不方便,它不像本地Java程序那样可以很方便地及时看到输出结果,本文将提供一种比较简捷的方式对MapReduce Job进行调试. 分析 完全并行模式下的MapReduce Job,使用 System.out.println("xxx"); 并不会打印到控制台上,因为完全并行模式下的MR Job是分布在集群上各个TaskTracker节点上运行的,因此,使用System.out.println的结果,是将打印信息打印到实际运行的Slave

NSLog打印信息的从新设置

前提:在XCode做开发调试时往往需要打印一些调试信息做debug用,大家知道当打印信息的地方多了之后在模拟器上跑可能不会有什么问题,因为模拟器用的是电脑的硬件但是当应用跑在设备上时这些输出语句会在很大程度上影响应用的性能,针对这种问题可以写一些宏来控制这些调试信息的输出. 在release版本禁止输出NSLog内容 因为NSLog的输出还是比较消耗系统资源的,而且输出的数据也可能会暴露出App里的保密数据,所以发布正式版时需要把这些输出全部屏蔽掉. 我们可以在发布版本前先把所有NSLog语句注

VS2013+cocos2d-x3.10 调试项目同时在控制台(黑窗--终端)打印信息

今天!有会儿空功夫,装了cocos2d-x v3.10. 新建项目,打开,发布,打包!(打包环境配置),真是一键搞定派. 好吧!这就是发展吧.快,简,易.只要你喜欢随心所欲. 在小玩之余发现了一个奇怪的事情,标准输出信息(如std::cout.printf等)不是都是输出到控制台的(也就是传说中的黑窗)?控制台那? 只有调试的游戏项目孤零零的站在那里! 我这里除了把HelloWorld!换了张图片以外!还有就是加了个onTouchBegan(),onTouchEnd()用于输出打印触摸的点的坐标

屏蔽内核启动打印信息

最近做的4412板子终于经过测试形成产品,在这之前需要把内核启动过程中的打印信息去掉,并且更换启动LOGO,下面讲讲自己去掉打印信息的过程. 去掉打印信息方法很多,我使用一个相对比较简单的,就是将下面选项的[*]去掉 Device Drivers  ---> Character devices  ---> [* ]   Support for console on virtual terminal 这样printk的打印信息就不会输出在显示器或LCD上. 将打印信息去掉后,莫名其妙的会出现因为

两个线程交替打印信息

看见一个关于两个线程交替打印信息的题目,题目大概是 子线程循环 10 次,接着主线程循环 100 次,接着又回到子线程循环 10 次,接着再回到主线程又循环 100 次,如此循环50次,试写出代码. 写了两个版本,一个是用了mutex,不用条件变量:另外一个是用条件变量. 第一个,不用条件变量 1 #include <stdio.h> 2 #include <string.h> 3 #include <pthread.h> 4 5 6 7 const int LOOP_

makefile 与android.mk中加打印信息

[table]@echo ' zImage - Compressed kernel image' android.mk里面加打印信息: $(warning TEXT......) 这个函数被执行的时候,会输出:TEXT......,但是make会继续执行下去. $(error TEXT......) 这个函数被执行的时候,会输出:TEXT......,并且终止make的执行. 其中“TEXT.....”可以替换为对变量的取值来输出变量的信息,例如:$(warning $(VAR)),那么该函数执