-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathLogManager.h
More file actions
executable file
·115 lines (101 loc) · 2.89 KB
/
LogManager.h
File metadata and controls
executable file
·115 lines (101 loc) · 2.89 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
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
#pragma once
//LogManager Unique Instance£»
#define LOG_INSTANCE (LogManager::GetInstance())
//Log Level=DEBUG
#define DEBUG(strinfo)\
{\
if(LOG_INSTANCE != NULL)\
{\
LOG_INSTANCE->LogDebug(strinfo, __FILE__, __LINE__, __FUNCTION__);\
}\
}
//Log Level=INFO
#define INFO(strinfo)\
{\
if(LOG_INSTANCE != NULL)\
{\
LOG_INSTANCE->LogInfo(strinfo, __FILE__, __LINE__, __FUNCTION__);\
}\
}
//Log Level=NOTICE
#define NOTICE(strinfo)\
{\
if(LOG_INSTANCE != NULL)\
{\
LOG_INSTANCE->LogNotice(strinfo, __FILE__, __LINE__, __FUNCTION__);\
}\
}
//Log Level=WARN
#define WARN(strinfo)\
{\
if(LOG_INSTANCE != NULL)\
{\
LOG_INSTANCE->LogWarn(strinfo, __FILE__, __LINE__, __FUNCTION__);\
}\
}
//Log Level=Error
#define ERROR(strinfo)\
{\
if(LOG_INSTANCE != NULL)\
{\
LOG_INSTANCE->LogError(strinfo, __FILE__, __LINE__, __FUNCTION__);\
}\
}
//Log Level=CRIT
#define CRIT(strinfo)\
{\
if(LOG_INSTANCE != NULL)\
{\
LOG_INSTANCE->LogCrit(strinfo, __FILE__, __LINE__, __FUNCTION__);\
}\
}
//Log Level=ALERT
#define ALERT(strinfo)\
{\
if(LOG_INSTANCE != NULL)\
{\
LOG_INSTANCE->LogAlert(strinfo, __FILE__, __LINE__, __FUNCTION__);\
}\
}
//Log Level=EMERG
#define EMERG(strinfo)\
{\
if(LOG_INSTANCE != NULL)\
{\
LOG_INSTANCE->LogEmerg(strinfo, __FILE__, __LINE__, __FUNCTION__);\
}\
}
//Free Log Resource
#define LOG_FREE()\
{\
LOG_INSTANCE->FreeInstance();\
}
#include "BaseLogger.h"
#include "StdOutLogger.h"
#include <map>
using namespace std;
class LogManager
{
public:
~LogManager(void);
static LogManager * GetInstance();
static void FreeInstance();
void AppendLoger(BaseLogger *log);
void LogDebug(const char * info, const char * file, const unsigned long line, const char * function);
void LogInfo(const char * info, const char * file, const unsigned long line, const char * function);
void LogNotice(const char * info, const char * file, const unsigned long line, const char * function);
void LogWarn(const char * info, const char * file, const unsigned long line, const char * function);
void LogError(const char * info, const char * file, const unsigned long line, const char * function);
void LogCrit(const char * info, const char * file, const unsigned long line, const char * function);
void LogAlert(const char * info, const char * file, const unsigned long line, const char * function);
void LogEmerg(const char * info, const char * file, const unsigned long line, const char * function);
void Log(E_LOG_LEVEL level, const char * strMsg, const char * file, const unsigned long line, const char * function);
void SetLogLevel(E_LOG_LEVEL level);
E_LOG_LEVEL GetLogLevel();
private:
map<unsigned int, BaseLogger *> m_loggers;
E_LOG_LEVEL m_LogLevel;
LogManager(void);
LogManager(LogManager &manager);
static const LogManager *m_Instance;
};