/************************************************************************************************** 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 //ÈÕÖ¾¼¶±ðö¾Ù 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