温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

DDLog使用了解

发布时间:2020-07-28 09:39:32 来源:网络 阅读:1928 作者:xinji0702 栏目:开发技术



利用xcodeColors插件方法,使得不同的打印方法打印的颜色不一样,来凸显重点信息


It's sometimes helpful to color-coordinate your log messages. For example, you may want your error messages to print in red so they stick out.
This is possible with DDTTYLogger and XcodeColors.

DDLog使用了解

Install XcodeColors

XcodeColors is a simple plugin for Xcode.
It allows you to use colors in the Xcode debugging console.

Full installation instructions can be found on the XcodeColors project page:
https://github.com/robbiehanson/XcodeColors

But here's a summary:

  • Download the plugin

  • Slap it into the Xcode Plug-ins directory

  • Restart Xcode

Enable Colors

All it takes is one extra line of code to enable colors in Lumberjack:

// Standard lumberjack initialization[DDLogaddLogger:[DDTTYLoggersharedInstance]];// And we also enable colors[[DDTTYLoggersharedInstance]setColorsEnabled:YES];

The default color scheme (if you don't customize it) is:

  • DDLogError : Prints in red

  • DDLogWarn : Prints in orange

However, you can fully customize the color schemes however you like!
In fact, you can customize the foreground and/or background colors.
And you can specify any RGB value you'd like.

// Let's customize our colors.// DDLogInfo : Pink#if TARGET_OS_IPHONEUIColor*pink=[UIColorcolorWithRed:(255/255.0)green:(58/255.0)blue:(159/255.0)alpha:1.0];#elseNSColor*pink=[NSColorcolorWithCalibratedRed:(255/255.0)green:(58/255.0)blue:(159/255.0)alpha:1.0];#endif[[DDTTYLoggersharedInstance]setForegroundColor:pinkbackgroundColor:nilforFlag:LOG_FLAG_INFO];DDLogInfo(@"Warming up printer");// Prints in Pink !

XcodeColors and iOS

You may occasionally notice that colors don't work when you're debugging your app in the simulator. And you may also notice that you colors never work when debugging on the actual device. How do I fix it so it works everywhere, all the time?

You can fix it in a few seconds. Here's how.

  • In Xcode bring up the Scheme Editor (Product -> Edit Scheme...)

  • Select "Run" (on the left), and then the "Arguments" tab

  • Add a new Environment Variable named "XcodeColors", with a value of "YES"

DDLog使用了解

Your colors should now work on the simulator and on the device, every single time.

More information:

The XcodeColors plugin is automatically loaded by Xcode when Xcode launches. When XcodeColors runs, it sets the environment variable "XcodeColors" to "YES". Thus the Xcode application itself has this environment variable set.

It is this environment variable that Lumberjack uses to detect whether XcodeColors is installed or not. Because if Lumberjack injects color information when XcodeColors isn't installed, then your log statements have a bunch of garbage characters in them.

Now any application that Xcode launches inherits the environment variables from Xcode. So if you hit build-and-go, and Xcode launches the simulator for you automatically, then the colors will work. But if you manually launch the simulator, then it doesn't inherit environment variables from Xcode (because Xcode isn't the process' parent in this case). It's a similar problem when debugging on the actual device.

Colors in the Terminal

If you ever do any debugging in the Terminal, then you're in luck! DDTTYLogger supports color in terminals as well.

If your shell supports color, the DDTTYLogger will automatically map your requested colors to the closest supported color by your shell. In most cases your terminal will be "xterm-256color", so your terminal will support 256 different colors, and you'll get a close match for whatever RGB values you configure.





向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI