OpenEngine MyGUI logging facility
parent
a46662043a
commit
46c32f6c47
@ -0,0 +1,39 @@
|
||||
#include "loglistener.hpp"
|
||||
|
||||
#include <iomanip>
|
||||
#include <time.h>
|
||||
|
||||
#include <boost/filesystem/path.hpp>
|
||||
|
||||
namespace MyGUI
|
||||
{
|
||||
void CustomLogListener::open()
|
||||
{
|
||||
mStream.open(boost::filesystem::path(mFileName), std::ios_base::out);
|
||||
}
|
||||
|
||||
void CustomLogListener::close()
|
||||
{
|
||||
if (mStream.is_open())
|
||||
mStream.close();
|
||||
}
|
||||
|
||||
void CustomLogListener::flush()
|
||||
{
|
||||
if (mStream.is_open())
|
||||
mStream.flush();
|
||||
}
|
||||
|
||||
void CustomLogListener::log(const std::string& _section, LogLevel _level, const struct tm* _time, const std::string& _message, const char* _file, int _line)
|
||||
{
|
||||
if (mStream.is_open())
|
||||
{
|
||||
const char* separator = " | ";
|
||||
mStream << std::setw(2) << std::setfill('0') << _time->tm_hour << ":"
|
||||
<< std::setw(2) << std::setfill('0') << _time->tm_min << ":"
|
||||
<< std::setw(2) << std::setfill('0') << _time->tm_sec << separator
|
||||
<< _section << separator << _level.print() << separator
|
||||
<< _message << separator << _file << separator << _line << std::endl;
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,35 @@
|
||||
#ifndef OPENENGINE_MYGUI_LOGLISTENER_H
|
||||
#define OPENENGINE_MYGUI_LOGLISTENER_H
|
||||
|
||||
#include <string>
|
||||
#include <boost/filesystem/fstream.hpp>
|
||||
|
||||
#include <MyGUI_ILogListener.h>
|
||||
|
||||
namespace MyGUI
|
||||
{
|
||||
class CustomLogListener : public ILogListener
|
||||
{
|
||||
public:
|
||||
CustomLogListener(const std::string &name)
|
||||
: mFileName(name)
|
||||
{}
|
||||
|
||||
~CustomLogListener() {}
|
||||
|
||||
virtual void open();
|
||||
virtual void close();
|
||||
virtual void flush();
|
||||
|
||||
virtual void log(const std::string& _section, LogLevel _level, const struct tm* _time, const std::string& _message, const char* _file, int _line);
|
||||
|
||||
const std::string& getFileName() const { return mFileName; }
|
||||
|
||||
private:
|
||||
boost::filesystem::ofstream mStream;
|
||||
std::string mFileName;
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
#endif
|
Loading…
Reference in New Issue