1#ifndef __STDAIR_SVC_LOGGER_HPP
2#define __STDAIR_SVC_LOGGER_HPP
16#define STDAIR_LOG_CORE(iLevel, iToBeLogged) \
17 { std::ostringstream ostr; ostr << iToBeLogged; \
18 stdair::Logger::instance().log (iLevel, __LINE__, __FILE__, ostr.str()); }
20#define STDAIR_LOG_CRITICAL(iToBeLogged) \
21 STDAIR_LOG_CORE (stdair::LOG::CRITICAL, iToBeLogged)
23#define STDAIR_LOG_ERROR(iToBeLogged) \
24 STDAIR_LOG_CORE (stdair::LOG::ERROR, iToBeLogged)
26#define STDAIR_LOG_NOTIFICATION(iToBeLogged) \
27 STDAIR_LOG_CORE (stdair::LOG::NOTIFICATION, iToBeLogged)
29#define STDAIR_LOG_WARNING(iToBeLogged) \
30 STDAIR_LOG_CORE (stdair::LOG::WARNING, iToBeLogged)
32#define STDAIR_LOG_DEBUG(iToBeLogged) \
33 STDAIR_LOG_CORE (stdair::LOG::DEBUG, iToBeLogged)
35#define STDAIR_LOG_VERBOSE(iToBeLogged) \
36 STDAIR_LOG_CORE (stdair::LOG::VERBOSE, iToBeLogged)
60 const std::string& iFileName,
const T& iToBeLogged) {
61 assert (_logStream != NULL);
62 if (iLevel <= _level) {
63 *_logStream <<
"[" <<
LOG::_logLevels[iLevel] <<
"]" << iFileName <<
":"
64 << iLineNumber <<
": " << iToBeLogged << std::endl;
79 bool getStatus()
const {
80 return _hasBeenInitialised;
93 void setStream (std::ostream& ioStream) {
94 _logStream = &ioStream;
100 void setStatus (
const bool iStatus) {
101 _hasBeenInitialised = iStatus;
112 Logger (
const Logger&);
123 static void init (
const BasLogParams&);
128 static BasLogParams getLogParams();
146 std::ostream* _logStream;
151 bool _hasBeenInitialised;
Handle on the StdAir library context.
static const std::string _logLevels[LAST_VALUE]
friend class STDAIR_Service
static Logger & instance()
friend class FacSupervisor
Friend classes.
void log(const LOG::EN_LogLevel iLevel, const int iLineNumber, const std::string &iFileName, const T &iToBeLogged)