This snippet shows, how to catch entries of the logfile.
So it's possible to process all log entries of the Ogre engine.
Usage examples:
- Create a second logfile where only errors and warnings will be logged
- Create a second logfile with HTML style where all entries are marked up
- (Somewhere in the forum was a C++ code to do this job. If somebody find it, pleas add it here.)
- Show ogre messages in application
Mogre is partially diffrent to Ogre. The result is looking easy, but the way to get it was stony. I lost much time to find out how to do. So I show the code. Maybe it can help other Mogre users. --Beauty
Look for the line of creating root and add the event handler after this
Copy to clipboard
root = new Root(...); root.FrameStarted += new FrameListener.FrameStartedHandler(FrameStarted); // add this line here: LogManager.Singleton.DefaultLog.MessageLogged += new LogListener.MessageLoggedHandler(DefaultLog_MessageLogged);
Then add this method somewhere in the same class. It will be called for every log entry.
Copy to clipboard
void DefaultLog_MessageLogged(string message, LogMessageLevel lml, bool maskDebug, string logName) { // do something // e.g. add messages to an ArrayList or show special messages in a window. }
Add message to Ogre log
On the other hand you also can add entries to the original ogre.log file.
Copy to clipboard
LogManager.Singleton.DefaultLog.LogMessage(...);