README.markdown

XcodeColors allows you to use colors in the Xcode debugging console.
It's designed to aid in the debugging process. For example:

Make error messages stand out by printing them out in red.

Use different colors for logically separate parts of your code.

You're not limited to a restricted color palate.
You can specify, in your source code, the exact RGB values you'd like to use.
You can specify foreground and/or background color(s).

XcodeColors is a simple plugin for Xcode 3, 4, 5 & 6

XcodeColors installation instructions for Xcode 4, 5 & 6:

Download or clone the repository.

Open the XcodeColors project with Xcode

If compiling for Xcode 4, then change the schemes to use the Xcode4 build configuration (instead of the Xcode5 build configuration which is the default)

Compile the XcodeColors target.
When you do this, the Xcode plugin is automatically copied to the proper location.
This is done via the build settings.
You can validate the plugin was copied to "~/Library/Application Support/Developer/Shared/Xcode/Plug-ins/XcodeColors.xcplugin"

Now completely Quit Xcode

Re-Launch Xcode, and re-open the XcodeColors project

Now run the TestXcodeColors target.
This will test your installation, and you should see colors in your Xcode console.

Did you upgrade Xcode and now XcodeColors is "broken"? Get the fix here: XcodeUpdates.

// How to apply color formatting to your log statements:// // To set the foreground color:// Insert the ESCAPE into your string, followed by "fg124,12,255;" where r=124, g=12, b=255.// // To set the background color:// Insert the ESCAPE into your string, followed by "bg12,24,36;" where r=12, g=24, b=36.// // To reset the foreground color (to default value):// Insert the ESCAPE into your string, followed by "fg;"// // To reset the background color (to default value):// Insert the ESCAPE into your string, followed by "bg;"// // To reset the foreground and background color (to default values) in one operation:// Insert the ESCAPE into your string, followed by ";"
#defineXCODE_COLORS_ESCAPE@"\033["
#defineXCODE_COLORS_RESET_FG XCODE_COLORS_ESCAPE @"fg;"// Clear any foreground color
#defineXCODE_COLORS_RESET_BG XCODE_COLORS_ESCAPE @"bg;"// Clear any background color
#defineXCODE_COLORS_RESET XCODE_COLORS_ESCAPE @";"// Clear any foreground or background color

To manually colorize your log statements, you surround the log statements with the color options:

Option 2: CocoaLumberjack

[Lumberjack] is similar in concept to other popular logging frameworks such as log4j,
yet is designed specifically for Objective-C, and takes advantage of features such as
multi-threading, grand central dispatch (if available), lockless atomic operations,
and the dynamic nature of the Objective-C runtime.

In most cases it is an order of magnitude faster than NSLog.

It's super easy to use XcodeColors with Lumberjack!

And if color isn't available (e.g. XcodeColors isn't installed), then the framework just automatically does the right thing. So if you install XcodeColors on your machine, and enable colors in your team project, your teammates (without XcodeColors... yet) won't suffer, or even notice.

Plus Lumberjack colors automatically work if you run your application from within a terminal! (E.g. Terminal.app, not Xcode) If your terminal supports color (xterm-color or xterm-256color) like the Terminal.app in Lion, then Lumberjack automatically maps your color customizations to the closest available color supported by the shell!