/************************************************************************* 【文件名】 Logger.h 【功能模块和目的】 日志模块导出接口 【开发者及日期】 郑石诺 2015/01/06 【版本】 V1.0.0 【版权信息】 Copyright (C)2015 河南华谊网络科技有限公司 【更改记录】 *************************************************************************/ #pragma once #ifdef LOGGER_EXPORTS #define LOGGER_API __declspec(dllexport) #else #define LOGGER_API __declspec(dllimport) #endif // 相关常量定义: #define LOG_BUFFER_LENGTH 1024 // 日志字符串长度 #define LOG_DATATIME_LEN 32 // 日志相关变量定义: typedef enum tagLOG_CLASS /* 日志类型 */ { LOG_CLASS_SOCKET = 0x00, // socket日志 LOG_CLASS_DEV = 0x01, // 设备日志 LOG_CLASS_BUSI = 0x02, // 业务日志 LOG_CLASS_GENERAL = 0x03 // 全部类型 } LOG_CLASS; typedef enum tagLOG_LEVEL /* 日志级别 */ { LOG_LEVEL_WARNING = 0x01, // 警告 LOG_LEVEL_ERROR = 0x02, // 错误 LOG_LEVEL_NORMAL = 0x03, // 普通 LOG_LEVEL_TRACE = 0x04 //跟踪 } LOG_LEVEL; typedef enum tagLOG_DEV /* 日志发起设备 */ { LOG_DEV_CTI = 0, // CTI LOG_DEV_IVR = 1, // IVR LOG_DEV_ACD = 2, // ACD LOG_DEV_VS = 3, // 语音平台 LOG_DEV_FS = 4, // 传真平台 LOG_DEV_AC = 5, // 自动外呼 LOG_DEV_SC = 6, // 毅航控制系统 LOG_DEV_GUARD = 7, // 守护进程 LOG_DEV_SERVER = 8 // http ws servere } LOG_DEV; // 日志信息结构: typedef struct tagLOG_INFO /* 日志信息结构体 */ { CString strInfo; // 日志内容 LOG_CLASS nClass; // 类型 LOG_LEVEL nLevel; // 级别 } T_LOG_INFO; /************************************************************************* 【类名】 ILogger 【功能】 日志记录接口 【接口说明】 【开发者及日期】 郑石诺 2015/01/06 【版本】 V1.0.0 【版权信息】 Copyright (C)2015 河南华谊网络科技有限公司 【更改记录】 *************************************************************************/ class LOGGER_API ILogger { public: virtual ~ILogger(void) = 0 {} static ILogger& getInstance(void); virtual void init( CListCtrl* pList, LOG_DEV nDevType, LPCTSTR lpFilePath = NULL ) = 0; // 初始化 virtual void close(void) = 0; // 关闭 virtual void start(void) = 0; // 启动日志显示 virtual void stop(void) = 0; // 停止日志显示 virtual void log( LOG_CLASS nClass, LOG_LEVEL nLevel, char* format, ... ) = 0; // 显示日志 virtual void filterShow( LOG_CLASS nClass = LOG_CLASS_GENERAL, LOG_LEVEL nLevel = LOG_LEVEL_NORMAL ) = 0; // 日志过滤 virtual BOOL isStart(void) = 0; };