4#include <boost/shared_ptr.hpp>
7#include "ThreadSafeQue.h"
8#include <boost/log/sources/severity_logger.hpp>
9#include <boost/log/trivial.hpp>
10#include <boost/log/sinks/text_file_backend.hpp>
11#include <boost/log/utility/setup/file.hpp>
12#include <boost/date_time/posix_time/posix_time.hpp>
13#include <boost/log/core.hpp>
14#include <boost/log/expressions.hpp>
15#include <boost/log/utility/setup/common_attributes.hpp>
16#include <boost/log/sources/record_ostream.hpp>
17#include <boost/log/utility/setup/console.hpp>
32 logLevel = boost::log::trivial::severity_level::error;
53 static void setLogLevel(boost::log::trivial::severity_level severity);
54 static bool setLogLevel(
const std::string& sSeverity);
55 static void setListener(
void(*cb)(
const std::string&));
59 void _setLogLevel(boost::log::trivial::severity_level severity);
62 bool push(boost::log::trivial::severity_level level, std::ostringstream& stream);
66 std::ostringstream&
pre(std::ostringstream& stream, boost::log::trivial::severity_level lvl);
67 std::ostringstream&
aipexceptionPre(std::ostringstream& stream, boost::log::trivial::severity_level lvl,
int type);
78 bool process(
const std::string& message);
85 boost::log::sources::severity_logger< boost::log::trivial::severity_level >
lg;
86 boost::shared_ptr< boost::log::sinks::synchronous_sink< boost::log::sinks::text_ostream_backend > >
mConsoleSink;
87 boost::shared_ptr< boost::log::sinks::synchronous_sink< boost::log::sinks::text_file_backend > >
mFileSink;
90#define A_LOG_SEV(severity) for(std::ostringstream stream; Logger::getLogger()->push(severity, stream);) Logger::getLogger()->pre(stream, severity)
91#define A_LOG(severity) A_LOG_SEV(severity) << __FILE__ << ":" << __LINE__ << ":"
93#define LOG_TRACE A_LOG(boost::log::trivial::severity_level::trace)
94#define LOG_DEBUG A_LOG(boost::log::trivial::severity_level::debug)
95#define LOG_INFO A_LOG(boost::log::trivial::severity_level::info)
96#define LOG_WARNING A_LOG(boost::log::trivial::severity_level::warning)
97#define LOG_ERROR A_LOG(boost::log::trivial::severity_level::error)
98#define LOG_FATAL A_LOG(boost::log::trivial::severity_level::fatal)
LoggerProps()
Definition Logger.h:27
bool enableConsoleLog
Definition Logger.h:35
int fps
Definition Logger.h:39
boost::log::trivial::severity_level logLevel
Definition Logger.h:38
std::string fileLogPath
Definition Logger.h:37
bool enableFileLog
Definition Logger.h:36
void operator()()
Definition Logger.cpp:163
bool mRunning
Definition Logger.h:79
void setConsoleLog(bool enableLog)
Definition Logger.cpp:149
boost::log::sources::severity_logger< boost::log::trivial::severity_level > lg
Definition Logger.h:85
threadsafe_que< std::string > mQue
Definition Logger.h:75
Logger(LoggerProps props)
Definition Logger.cpp:28
void(* mListener)(const std::string &)
Definition Logger.h:82
bool push(boost::log::trivial::severity_level level, std::ostringstream &stream)
Definition Logger.cpp:221
std::thread myThread
Definition Logger.h:76
void _setLogLevel(boost::log::trivial::severity_level severity)
Definition Logger.cpp:144
LoggerProps mProps
Definition Logger.h:80
boost::shared_ptr< boost::log::sinks::synchronous_sink< boost::log::sinks::text_file_backend > > mFileSink
Definition Logger.h:87
void _setListener(void(*cb)(const std::string &))
Definition Logger.cpp:119
static void setListener(void(*cb)(const std::string &))
Definition Logger.cpp:113
static void setLogLevel(boost::log::trivial::severity_level severity)
Definition Logger.cpp:138
void setFileLog(bool enableLog)
Definition Logger.cpp:154
std::ostringstream & aipexceptionPre(std::ostringstream &stream, boost::log::trivial::severity_level lvl, int type)
Definition Logger.cpp:263
std::ostringstream & pre(std::ostringstream &stream, boost::log::trivial::severity_level lvl)
Definition Logger.cpp:253
bool process(const std::string &message)
Definition Logger.cpp:195
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:86
static boost::shared_ptr< Logger > instance
Definition Logger.h:84
virtual ~Logger()
Definition Logger.cpp:81
static void initLogger(LoggerProps props)
Definition Logger.cpp:6
bool run()
Definition Logger.cpp:168
static std::mutex logger_mutex
Definition Logger.h:74
Definition ThreadSafeQue.h:8