4#include <boost/shared_ptr.hpp>
5#include <boost/thread.hpp>
6#include "ThreadSafeQue.h"
7#include <boost/log/sources/severity_logger.hpp>
8#include <boost/log/trivial.hpp>
9#include <boost/log/sinks/text_file_backend.hpp>
10#include <boost/log/utility/setup/file.hpp>
11#include <boost/date_time/posix_time/posix_time.hpp>
12#include <boost/log/core.hpp>
13#include <boost/log/expressions.hpp>
14#include <boost/log/utility/setup/common_attributes.hpp>
15#include <boost/log/sources/record_ostream.hpp>
16#include <boost/log/utility/setup/console.hpp>
31 logLevel = boost::log::trivial::severity_level::error;
52 static void setLogLevel(boost::log::trivial::severity_level severity);
53 static bool setLogLevel(
const std::string& sSeverity);
54 static void setListener(
void(*cb)(
const std::string&));
58 void _setLogLevel(boost::log::trivial::severity_level severity);
61 bool push(boost::log::trivial::severity_level level, std::ostringstream& stream);
65 std::ostringstream&
pre(std::ostringstream& stream, boost::log::trivial::severity_level lvl);
66 std::ostringstream&
aipexceptionPre(std::ostringstream& stream, boost::log::trivial::severity_level lvl,
int type);
77 bool process(
const std::string& message);
84 boost::log::sources::severity_logger< boost::log::trivial::severity_level >
lg;
85 boost::shared_ptr< boost::log::sinks::synchronous_sink< boost::log::sinks::text_ostream_backend > >
mConsoleSink;
86 boost::shared_ptr< boost::log::sinks::synchronous_sink< boost::log::sinks::text_file_backend > >
mFileSink;
89#define A_LOG_SEV(severity) for(std::ostringstream stream; Logger::getLogger()->push(severity, stream);) Logger::getLogger()->pre(stream, severity)
90#define A_LOG(severity) A_LOG_SEV(severity) << __FILE__ << ":" << __LINE__ << ":"
92#define LOG_TRACE A_LOG(boost::log::trivial::severity_level::trace)
93#define LOG_DEBUG A_LOG(boost::log::trivial::severity_level::debug)
94#define LOG_INFO A_LOG(boost::log::trivial::severity_level::info)
95#define LOG_WARNING A_LOG(boost::log::trivial::severity_level::warning)
96#define LOG_ERROR A_LOG(boost::log::trivial::severity_level::error)
97#define LOG_FATAL A_LOG(boost::log::trivial::severity_level::fatal)
LoggerProps()
Definition Logger.h:26
bool enableConsoleLog
Definition Logger.h:34
int fps
Definition Logger.h:38
boost::log::trivial::severity_level logLevel
Definition Logger.h:37
std::string fileLogPath
Definition Logger.h:36
bool enableFileLog
Definition Logger.h:35
void operator()()
Definition Logger.cpp:164
bool mRunning
Definition Logger.h:78
void setConsoleLog(bool enableLog)
Definition Logger.cpp:150
boost::log::sources::severity_logger< boost::log::trivial::severity_level > lg
Definition Logger.h:84
threadsafe_que< std::string > mQue
Definition Logger.h:74
Logger(LoggerProps props)
Definition Logger.cpp:28
void(* mListener)(const std::string &)
Definition Logger.h:81
bool push(boost::log::trivial::severity_level level, std::ostringstream &stream)
Definition Logger.cpp:222
void _setLogLevel(boost::log::trivial::severity_level severity)
Definition Logger.cpp:145
LoggerProps mProps
Definition Logger.h:79
boost::shared_ptr< boost::log::sinks::synchronous_sink< boost::log::sinks::text_file_backend > > mFileSink
Definition Logger.h:86
void _setListener(void(*cb)(const std::string &))
Definition Logger.cpp:120
static void setListener(void(*cb)(const std::string &))
Definition Logger.cpp:114
static void setLogLevel(boost::log::trivial::severity_level severity)
Definition Logger.cpp:139
void setFileLog(bool enableLog)
Definition Logger.cpp:155
std::ostringstream & aipexceptionPre(std::ostringstream &stream, boost::log::trivial::severity_level lvl, int type)
Definition Logger.cpp:264
std::ostringstream & pre(std::ostringstream &stream, boost::log::trivial::severity_level lvl)
Definition Logger.cpp:254
bool process(const std::string &message)
Definition Logger.cpp:196
static boost::mutex logger_mutex
Definition Logger.h:73
static Logger * getLogger()
Definition Logger.cpp:17
void initBoostLogger(LoggerProps props)
Definition Logger.cpp:42
boost::shared_ptr< boost::log::sinks::synchronous_sink< boost::log::sinks::text_ostream_backend > > mConsoleSink
Definition Logger.h:85
static boost::shared_ptr< Logger > instance
Definition Logger.h:83
virtual ~Logger()
Definition Logger.cpp:81
static void initLogger(LoggerProps props)
Definition Logger.cpp:6
bool run()
Definition Logger.cpp:169
boost::thread myThread
Definition Logger.h:75
Definition ThreadSafeQue.h:9