CMCore/inc/hgl/log/Logger.h

37 lines
1.3 KiB
C
Raw Normal View History

2019-08-19 19:19:58 +08:00
#ifndef HGL_LOGGER_INCLUDE
#define HGL_LOGGER_INCLUDE
2021-01-15 20:26:41 +08:00
#include<hgl/log/LogInfo.h>
2019-08-19 19:19:58 +08:00
namespace hgl
{
namespace logger
{
/**
*
*/
class Logger
{
protected:
2019-08-29 15:28:49 +08:00
2019-08-19 19:19:58 +08:00
LogLevel min_level; ///<最小输出级别
2019-08-29 15:28:49 +08:00
Logger *parent; ///<上级输出器
2019-08-19 19:19:58 +08:00
public:
2019-08-29 15:28:49 +08:00
Logger(LogLevel l,Logger *pl=nullptr){min_level=l;parent=pl;}
2019-08-19 19:19:58 +08:00
virtual ~Logger()=default;
2019-08-29 15:28:49 +08:00
const LogLevel GetLevel ()const{return min_level;} ///<取得最小输出级别
Logger * GetParent (){return parent;} ///<取得上级日志输出器
2019-08-19 19:19:58 +08:00
virtual void Close()=0; ///<关闭日志
virtual void Write(const u16char *,int)=0; ///<输出一行u16char日志
2020-07-07 19:14:42 +08:00
virtual void Write(const u8char *,int)=0; ///<输出一行u8char日志
2019-08-19 19:19:58 +08:00
};//class Logger
}//namespace logger
using namespace logger;
}//namespace hgl
#endif//HGL_LOGGER_INCLUDE