📄 logalert.h
字号:
/******************************************************************************************/
/*** Name : logalert.h ***/
/*** ***/
/*** Description : 日志告警接口,适用于所有UNIX C++程序 ***/
/*** ***/
/*** Copyright : LinkAge Co. ***/
/*** ***/
/*** Begin Time : 2001/02/14 ***/
/*** ***/
/*** Last Change Time : 2001/11/30 ***/
/*** ***/
/******************************************************************************************/
#ifndef _LOGALERT_H_
#define _LOGALERT_H_
#ifndef PATHLENGTH
#define PATHLENGTH 256
#endif
#undef STRING_LEN
#define STRING_LEN 1024
//用户名称,ip地址,主机名称,操作对象,操作编码,操作,操作结果,操作开始日期时间,操作结束日期时间
//内部添加了通道号
struct S_OperInfo
{
char szUser[STRING_LEN];
char szIp[STRING_LEN];
char szHostName[STRING_LEN];
char szModelName[STRING_LEN];
char szOperCode[STRING_LEN];
char szOperation[STRING_LEN];
char szOperResult[STRING_LEN];
char szStartDateTime[STRING_LEN];
char szEndDateTime[STRING_LEN];
char szChannelCode[STRING_LEN];
S_OperInfo()
{
memset(szUser, 0, sizeof(szUser));
memset(szIp, 0, sizeof(szIp));
memset(szHostName, 0, sizeof(szHostName));
memset(szModelName, 0, sizeof(szModelName));
memset(szOperCode, 0, sizeof(szOperCode));
memset(szOperation, 0, sizeof(szOperation));
memset(szOperResult, 0, sizeof(szOperResult));
memset(szStartDateTime, 0, sizeof(szStartDateTime));
memset(szEndDateTime, 0, sizeof(szEndDateTime));
memset(szChannelCode, 0, sizeof(szChannelCode));
}
};
class C_LogAlert
{
public:
//初始化记录启停信息的通道
bool InitForInfo(const char *pszPath, const char *pszModelName, const char *pszChannelCode);
//记录进程启动信息
bool Start(const char *pszOperCode);
//记录进程退出信息
bool Stop(const char *pszOperCode);
/*初始化通道 日志路径 唯一通道标识*/
bool Initialize(const char *pchPath,const char *pchChannelName);
/*写日志 日志,写文件时会自动加上'\n',无必要在此对象中加'\n'*/
bool Write(const char *pchLogAlert);
/*提交告警日志*/
void Commit(void);
/*写告警*/
bool InsertAlert(const char *Model_Code, const char *Alert_Level, const char *Alert_Code,
const char *Channel_Code, const char *Oper_Object);
/*写信息点日志*/
bool InsertInfoPoint(const char *InfoCode, const char *Result1, const char *Result2 = NULL);
/*构造函数*/
C_LogAlert(void);
/*解构函数*/
~C_LogAlert(void);
private:
//记录操作信息
bool WriteOperLog(void);
private:
FILE *Stream;
char pchCurrentPath[PATHLENGTH],pchCurrentChannelName[PATHLENGTH];
char pchCurrentFileName[PATHLENGTH],pchTempFileName[PATHLENGTH];
char szHostName[STRING_LEN], szHostIp[STRING_LEN];
S_OperInfo *m_pOperInfo;
};
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -