/**************************************************************************************************
|
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
|