📄 baselog.h
字号:
#ifndef __LOG_HEADER_H_FILE__#define __LOG_HEADER_H_FILE__#ifdef __Win32__#pragma warning(disable:4786)#endif#include "LogMacro.h"#include <stdio.h>#include <time.h>#include <string>#include <vector>#include "OSMutex.h"using namespace std;
//日志类的基类class CLog{public: virtual ~CLog(); virtual int WriteLog(); //写日志文件, 接口函数 void SetStatus(const int nFlag) {m_nStatus = nFlag; } int GetStatus() const {return m_nStatus; } OSMutex* GetMutex() {return &m_Mutex; }protected: CLog(); virtual int WriteHeader(); //写日志头信息, 包括列头信息 virtual int WriteRowHeader(); //写行头信息 virtual int WriteItems() {return LOG_SUCCESS;} //写具体日志信息 virtual int MakeDir(); //生成目录结构 virtual int FileName(); //生成文件名 //在原来的路径基础上加上strPath, //而不是将原来的路径替换为strPath void SetPath(const string strPath); void ResetPath() { m_strPath = ""; } //清空Path //改变用户ID和组ID int ChangeOwn(const char *PathName, const char *UserName); private: //禁止复制与赋值 CLog(const CLog&); CLog& operator=(const CLog&); int SetCurTime(); int CheckLog(); int OpenFile();protected: FILE *m_fpLogFile; //保存日志文件指针 string m_strPath; char m_cDelimiter; string m_strFileName; struct tm m_sCurTime; //当前时间 int m_dwSeqNo; //日志项的标号 OSMutex m_Mutex; //互斥量 int m_nStatus; //0: 不输出; 1:只输出到文件; 2:只输出到屏幕; 3:输出到屏幕和文件};#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -