📄 log.h
字号:
/****************************************************************Copyright (c) 金瀚海网络科技有限公司 All rights reserved*文件名称: log.h*模 块 名: 日志类头文件*功能描述: 日志功能接口定义*当前版本: 1.0*作 者: *完成日期: 2007-08-19*修改记录: * 日期 版本 作者 修改描述****************************************************************/#ifndef _LOG_H_#define _LOG_H_#include "define.h"#include "singleton.h"#include <stdio.h>#include <unistd.h>#include <sys/file.h>#include <sys/stat.h>#include <sys/types.h>#include <stdarg.h>//不记日志#define LOG_NONE 0//记录出错日志#define LOG_ERROR 1//记录一般性日志#define LOG_NORMAL 2//记录调试日志#define LOG_DEBUG 3#define LOG_FILE_NAME_ERROR -1#define LOG_LEVEL_ERROR -2#define LOG_MAXSIZE_ERROR -3#define LOG_FAIL_OPEN_FILE -4#define WriteLog(level,fmt,args...) CLog::Instance()->write_log(level,__FILE__,__LINE__,fmt,## args)//如果当前日志级别设置为1,则记录出错日志,不记一般日志和调试日志//如果为3,则要记录所有日志//原则上,如果日志级别为N,则要记录比N小的所有级别的日志//该日志类是一个单件,一个程序对应一个日志class CLog : public Singleton<CLog>{private: FILE *m_fp; //文件描述句柄 int m_fd; //文件描述符 int m_logLevel; //日志记录级别标记 int m_nCurSize; //打开时记录文件的当前大小 std::string m_szCurFile;//当前文件名,全路径 std::string m_szBackupFile; //备份文件名,全路径 int m_nMaxSize; //文件的最大大小 std::string m_levelArr[4]; //级别描述数组 bool m_bInit; //判断是否初始化,如果没有初始化就写日志将会失败 public: CLog(); int InitLogFile ( const char * pFile, int logLevel, const char * pBackupFile, int nMaxSize ); //这儿没必要实现变参 void write_log(int curLevel,char *file,int line, char *fmt, ...); void CloseLogFile (); private: int BackupFile ();};#endif //_LOG_H_
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -