dmplogger.h
3.1 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
/**************************************************************************
* file: dmplogger.h
* Author: wanzhongping
* Date: 2021-03-03 10:10:39
* Email: zhongpingw@chinadci.com
* copyright: 广州城市信息研究所有限公司
***************************************************************************/
#ifndef __dmplogger_h__
#define __dmplogger_h__
#include "dmap_core.h"
#include <string>
#include <iostream>
#include <boost/log/attributes/named_scope.hpp>
// Here we define our application severity levels.
enum SeverityLevel
{
debug_level = 0,
info_level,
warn_level,
error_level,
critical_level
};
class CORE_EXPORT DmpLogger
{
public:
void Debug(const std::string &msg);
void Info(const std::string &msg);
void Warn(const std::string &msg);
void Error(const std::string &msg);
void Critical(const std::string &msg);
void SetLevel(SeverityLevel level);
static DmpLogger *Instance();
private:
DmpLogger();
~DmpLogger();
DmpLogger(const DmpLogger& other) = delete;
DmpLogger& operator=(const DmpLogger &other) = delete;
void Init();
};
//对外接口宏
#define LOGGER_DEBUG(msg) \
\
{ \
BOOST_LOG_FUNCTION(); \
DmpLogger::Instance()->Debug(msg); \
}
#define LOGGER_INFO(msg) \
\
{ \
BOOST_LOG_FUNCTION(); \
DmpLogger::Instance()->Info(msg); \
}
#define LOGGER_WARN(msg) \
\
{ \
BOOST_LOG_FUNCTION(); \
DmpLogger::Instance()->Warn(msg); \
}
#define LOGGER_ERROR(msg) \
\
{ \
BOOST_LOG_FUNCTION(); \
DmpLogger::Instance()->Error(msg); \
}
#define LOGGER_CRITICAL(msg) \
\
{ \
BOOST_LOG_FUNCTION(); \
DmpLogger::Instance()->Critical(msg); \
}
#endif //__dmplogger_h__