I personally wouldn't really have a use for it as I'm always running OD from a terminal, so I get all the available debug output there.

To get it ingame, I guess there could be a console command that would toggle redirecting the debug output to a CEGUI widget (either the current chatbox, or maybe a separate overlay element, or a separate CEGUI window that could be toggled via a function key).

Well the simplest answer is, I want some variable say X to reach some concrete value . Without the preview one cannot be certain that the work is done , when one has teh ability to monitor what happens with X, one can more easily make it reach that value. Also it's easier to map log messages with ones in-game action.

When I have this kind of need, I usually hack ODFrameListener::printDebugInfo to display what I want and just revert changes when I'm done. In any case, this kind of tweakings should not be pushed to main repository unless they have a use for general debug purpose (like tile coords or turn number, for example, like it is done ATM)

Having some global object serving for debugging would be nice to have , as creating a custom file for debug info in one class is easy. On the other hand having such a log file which could be shared by many classes is a problem, so I opt for something more sophisticated than that . It could for example also help debugging my culling mechanism ....