代码拉取完成,页面将自动刷新
#pragma once
#include "logdef.h"
//NAMESPACE_BEG
enum LOG_MODE {
MODE_CONSL=1,
MODE_FILE=2,
MODE_CUST=4,
};
enum LOG_LEVEL {
INF = 1,
WAR = 2,
ERR = 4,
FAT = 8,
BUG = 16,
};
enum LOG_FORMAT {
DIS_FILE = 1,
DIS_FUN = 2,
DIS_LIN = 4,
DIS_COLOR = 8,
DIS_TIME = 16,
DIS_THID = 32,
DIS_LOG_LEVEL=64,
};
class Device {
public:
virtual void print(LOG_LEVEL level,const char* file, const char* fun, int64_t line_, uint64_t time, const char* log) = 0;
};
void addDevice(Device* dev);
struct ErrorTrace {
const char* file_;
const char* fun_;
int line_;
uint64_t thrad_id_;
uint64_t time_;
std::string log_;
};
void setLogConfig(const char* save_dir="./log",size_t max_file_size=1024*1024*50,bool open_log_que=true);
void setLogPrintMode(int mode =1);
void setLoggerLevel(int level=31);
void setLogFormat(int format=127);
std::ostream& Info(const char* file, const char* fun, int line);
void Infof(const char* file, const char* fun, int line, const char* format, ...);
std::ostream& Warn(const char* file, const char* fun, int line);
void Warnf(const char* file, const char* fun, int line,const char* format, ...);
std::ostream& Debug(const char* file, const char* fun, int len);
void Debugf(const char* file, const char* fun, int len, const char* format, ...);
std::ostream& Error(const char* file, const char* fun, int len);
void Errorf(const char* file, const char* fun, int len, const char* format, ...);
const ErrorTrace& GetLastErrorLog();
void LogEnd();
#define CLOG_ERR(format,...) Errorf(__FILE__,__FUNCTION__,__LINE__,format,__VA_ARGS__)
#define CLOG_INF(format,...) Infof(__FILE__,__FUNCTION__,__LINE__,format,__VA_ARGS__)
#define CLOG_WAR(format,...) Warnf(__FILE__,__FUNCTION__,__LINE__,format,__VA_ARGS__)
#define CLOG_BUG(format,...) Debugf(__FILE__,__FUNCTION__,__LINE__,format,__VA_ARGS__)
#if 1
#define LOG_ERR Error(__FILE__,__FUNCTION__,__LINE__)
#define LOG_INF Info(__FILE__,__FUNCTION__,__LINE__)
#define LOG_WAR Warn(__FILE__,__FUNCTION__,__LINE__)
#define LOG_BUG Debug(__FILE__,__FUNCTION__,__LINE__)
#else
#define LOG_ERR std::cerr
#define LOG_INF std::cerr
#define LOG_WAR std::cerr
#define LOG_BUG std::cerr
#endif
//NAMESPACE_END
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。