35 lines
818 B
C
35 lines
818 B
C
|
#ifndef _LOGGING_H
|
||
|
#define _LOGGING_H
|
||
|
|
||
|
#include "Engine.h"
|
||
|
|
||
|
namespace Engine {
|
||
|
class Module;
|
||
|
|
||
|
/** \brief All logging goes through this class
|
||
|
*/
|
||
|
class Logging : public Module {
|
||
|
public:
|
||
|
void Log (LogLevel level, const char *str, ...);
|
||
|
void SetLogPrintLevel (LogLevel print_level);
|
||
|
/** \brief Returns the last LogEntry that was sent to the Logging module
|
||
|
*/
|
||
|
const LogEntry& GetLastEntry ();
|
||
|
|
||
|
protected:
|
||
|
/** \brief Initializes the system */
|
||
|
virtual int OnInit (int argc, char* argv[]);
|
||
|
/** \brief Destroys the system (must be called!) */
|
||
|
virtual void OnDestroy ();
|
||
|
|
||
|
private:
|
||
|
LogLevel mPrintLevel;
|
||
|
/** \brief Stores all log messages that were sent to the Logging module
|
||
|
* \todo Restrict the number of entries to be stored!
|
||
|
*/
|
||
|
std::vector<LogEntry> mLogEntries;
|
||
|
};
|
||
|
|
||
|
}
|
||
|
#endif // _LOGGING_H
|