LWQ
2025-07-14 52d230fd0eb38adc5c6f4c6d6ed3786a3c19354d
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
/**************************************************************************************************
        Copyright 2020-2022 XXX XXX XXX
        All rights reserved.
 
        Author: zhenbin,jiang
        Date: 2020-06-20
        Version: V1.0.0
 
        Description:
                ±¾Ä£¿éÖ÷ÒªÊÇÈÕ־ģ¿é
***************************************************************************************************/
#ifndef I_LOGGER_H
#define I_LOGGER_H
 
#include <string>
 
//ÈÕÖ¾¼¶±ðö¾Ù
typedef enum EnumLogLevel
{
    LogLevel_Stop = 0,    //ʲô¶¼²»¼Ç¼
    LogLevel_Fatal,        //Ö»¼Ç¼ÑÏÖØ´íÎó
    LogLevel_Error,        //¼Ç¼ÑÏÖØ´íÎ󣬯Õͨ´íÎó
    LogLevel_Warning,    //¼Ç¼ÑÏÖØ´íÎ󣬯Õͨ´íÎ󣬾¯¸æ
    LogLevel_Info        //¼Ç¼ÑÏÖØ´íÎ󣬯Õͨ´íÎ󣬾¯¸æ£¬ÌáʾÐÅÏ¢(Ò²¾ÍÊÇÈ«²¿¼Ç¼)
}EnumLogLevel;
 
//ÈÕ־ģ¿éµÄÍ·Îļþ
class ILogger
{
public:
    //1. Ð´ÑÏÖØ´íÎóÐÅÏ¢
    virtual void TraceFatal(const char *lpcszFormat, ...) = 0;
    //2. Ð´´íÎóÐÅÏ¢
    virtual void TraceError(const char *lpcszFormat, ...) = 0;
    //3. Ð´¾¯¸æÐÅÏ¢
    virtual void TraceWarning(const char *lpcszFormat, ...) = 0;
    //4. Ð´ÌáʾÐÅÏ¢
    virtual void TraceInfo(const char *lpcszFormat, ...) = 0;
    //5. ¸Ä±äдÈÕÖ¾¼¶±ð
    virtual void ChangeLogLevel(EnumLogLevel nLevel) = 0;
    //6. Ð´ÈÕ³£ÐÅÏ¢
    virtual std::string Log(const char* pszHeader, const char *pszSuffix, const char* pszText) = 0;
};
 
#endif