The Bork3D Game Engine includes a simple facility for logging information to a text console in a cross-platform manner.
Whenever you want to print something to the console, #include RudeDebug.h use the RUDE_REPORT macro. It works just like printf. For example:
#include "RudeDebug.h"
...
RUDE_REPORT("%d objects loaded\n", numObjects);
On iPhone/iPad and MacOS the output goes to the standard console output stream available with Cmd-Shift-R. On Windows the output goes to the special debug output stream available in the debugger.
It's also possible to modify the debug printing mechanism to log to a file instead. Inside RudeDebug.cpp there's a simple hook you can enable and all output will be routed to a log file. This is useful in situations where you may not have access to the standard console stream.
To disable the debug printer in your final binary you can redefine RUDE_REPORT to do nothing by disabling the RUDE_DEBUG define in Rude.h.