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

📄 logmanager.h

📁 iocp vc例子,自己是学DELPHI
💻 H
字号:
// LogManager.h: interface for the CLogManager class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_LOGMANAGER_H__02D80C04_D681_474F_87BC_A878CF9A2FDB__INCLUDED_)
#define AFX_LOGMANAGER_H__02D80C04_D681_474F_87BC_A878CF9A2FDB__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#include <afxmt.h>

enum LOGTOTYPE
{
	LOGTO_NONE=0, //不记录日志
	LOGTO_DEBUG=1, //记录到调试信息
	LOGTO_FILE=2	//记录到文件
};

//定义xml中的节点名
#define XML_LOGMANAGER_LOGTO _T("LogTo")	//日志记录位置
#define XML_LOGMANAGER_LOGLEVEL _T("LogLevel")	//日志记录级别
#define XML_LOGMANAGER_LOGFILE _T("LogFile")	//日志记录文件
#define XML_LOGMANAGER_LOGDOMAINLIST _T("LogDomainList")	//日志记录域过滤列表
#define XML_LOGMANAGER_LOGCLASSLIST _T("LogClassList")	//日志记录类过滤列表

#define LoggingX CLogManager::Instance()->Logging
#define Logging2(a, b) CLogManager::Instance()->Logging(CErrorInfo(a, b, _T(""), __LINE__, __FILE__))
#define Logging3(a, b, c) CLogManager::Instance()->Logging(CErrorInfo(a, b, c, __LINE__, __FILE__))
#define Logging4(a, b, c, d) CLogManager::Instance()->Logging(CErrorInfo(a, b, c, d, __LINE__, __FILE__))

class AFX_EXT_CLASS CLogManager  
{
private:
	CLogManager(); 

public:	
	virtual ~CLogManager();

private:
	CCriticalSection m_csLog;	//日志记录锁,写文件时使用
	CItemComposite m_itemLogs;	//日志记录配置信息

private:
	int LoggingToDebug(CString strLogging);	//记录日志到调试信息
	int LoggingToFile(CString strLogging);	//记录日志到文件
	int Logging(CString strLogging);	//记录日志
	int InitConfig();	//初始化日志记录配置信息
	
public:
	static CLogManager* Instance();	//单件模式
	int Logging(CErrorInfo ErrInfo);	//记录日志
	int Logging(const char *format, ...);	//记录日志
};

#endif // !defined(AFX_LOGMANAGER_H__02D80C04_D681_474F_87BC_A878CF9A2FDB__INCLUDED_)

⌨️ 快捷键说明

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