⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 loggeri.cpp

📁 日志模块代码
💻 CPP
字号:
/*********************************************************************
* 版权所有 (C)2006, 深圳市中兴通讯股份有限公司。
* 
* 文件名称: LoggerI.cpp
* 文件标识: 
* 内容摘要: 系统日志服务接口的实现类
* 其它说明: 
* 当前版本: V1.00
* 作    者: 张 帆
* 完成日期: 2007/03/16
* 
* 修改记录1:// 修改历史记录,包括修改日期、修改者及修改内容
*    修改日期:
*    版 本 号:
*    修 改 人:
*    修改内容: 
* 修改记录2:…
**********************************************************************/
#include "LoggerI.h"
#include "LogManager.h"
#include "NOPError.h"

using namespace std;
using namespace NOP;

/**************************************************************************
*                       类CLoggerI的静态数据成员                       *
**************************************************************************/
CLoggerI CLoggerI::m_sLogger; 

/**************************************************************************
*                          类CLoggerI实现                              *
**************************************************************************/

/**************************************************************************
* 函数名称: CLoggerI()
* 功能描述: 构造函数
* 输入参数: 无
* 输出参数: 无
* 返 回 值: 无
* 其它说明: 无
* 修改日期    版本号     修改人	     修改内容
* -----------------------------------------------
* 2006/07/03   V1.0	      张 帆	       创建
**************************************************************************/
CLoggerI::CLoggerI()
{
}

/**************************************************************************
* 函数名称: ~CLoggerI()
* 功能描述: 析构函数
* 输入参数: 无
* 输出参数: 无
* 返 回 值: 无
* 其它说明: 无
* 修改日期    版本号     修改人	     修改内容
* -----------------------------------------------
* 2006/07/03   V1.0	      张 帆	       创建
**************************************************************************/
CLoggerI::~CLoggerI()
{
}

/**************************************************************************
* 函数名称: GetInstance()
* 功能描述: 获取对象唯一实例
* 输入参数: 无
* 输出参数: 无
* 返 回 值: 日志线程管理类的单实例
* 其它说明: 无
* 修改日期    版本号     修改人	     修改内容
* -----------------------------------------------
* 2006/07/03   V1.0	      张 帆	       创建
**************************************************************************/
CLoggerI& CLoggerI::GetInstance()
{
    return m_sLogger;
}

/**************************************************************************
* 函数名称: Initialize()
* 功能描述: 初始化
* 输入参数: 无
* 输出参数: 无
* 返 回 值: OP_SUCCESS 成功
*            其他返回值参见NOPError.h文件
* 其它说明: 无
* 修改日期    版本号     修改人	     修改内容
* -----------------------------------------------
* 2007/03/20   V1.0	      张 帆	       创建
**************************************************************************/
int CLoggerI::Initialize()
{
    int rv = CLogManager::GetInstance().Initialize();
    if (rv != OP_SUCCESS)
    {
        return rv;
    }

    return OP_SUCCESS;
}

/**************************************************************************
* 函数名称: Finalize()
* 功能描述: 终止清理
* 输入参数: 无
* 输出参数: 无
* 返 回 值: OP_SUCCESS 成功
*            其他返回值参见NOPError.h文件
* 其它说明: 无
* 修改日期    版本号     修改人	     修改内容
* -----------------------------------------------
* 2007/03/20   V1.0	      张 帆	       创建
**************************************************************************/
int CLoggerI::Finalize()
{
    int rv = CLogManager::GetInstance().Finalize();
    if (rv != OP_SUCCESS)
    {
        return rv;
    }

    return OP_SUCCESS;
}

/**************************************************************************
* 函数名称: Log()
* 功能描述: 记录日志
* 输入参数: int LogLevel         : 日志级别 
*            const char* Message  : 日志的内容
*            const char* Remark   : 备注
*            const char* FileName : 产生该日志的源文件名
*            int line             : 产生该日志的行号
* 输出参数: 无
* 返 回 值: 无
* 其它说明: 无
* 修改日期    版本号     修改人	     修改内容
* -----------------------------------------------
* 2007/03/20   V1.0	      张 帆	       创建
**************************************************************************/
void _stdcall CLoggerI::log(int LogLevel, 
						    const char* Message, 
						    const char* Remark, 
						    const char* FileName, 
						    int line)
{
    // 忽略LOGALL级别日志记录
    if ((TLogLevel)LogLevel == LOGALL) 
    {
        return;
    }

    // 构造新的日志记录
    LogItem item;
    GetLocalTime(&item.Time);
    item.LogLevel = (TLogLevel)LogLevel;
    item.Message = Message;
    item.Remark = Remark;
    item.FileName = FileName;
    item.line = line;

    // 派发日志记录
    CLogManager::GetInstance().AddItem(item);
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -