doctrinelog.h

来自「一个模拟动作源码」· C头文件 代码 · 共 36 行

H
36
字号
#pragma once
#include "TypeDefine.h"

#include <string>
using namespace std;

#define ERRORLOG_ACTION_HANDLER "Exception raised in action handler code"
#define ERRORLOG_PREDICATE_HANDLER "Exception raised in predicate handler code"

class CDoctrineLog
{
	typedef void (*FcnLogHandler)(void* pEntity, const char* enumLogLevel, const char* strInformation);

public:
	static CDoctrineLog& Instance()
	{
		static CDoctrineLog singleton;
		return singleton;
	}

public:
	void SetLogHandlerFcn(ENTITY_PTR* pEntity, void* pfcnLogHandler, LOG_LEVEL level = LOG_TRACE);
	void WriteLog(LOG_LEVEL level, string strClass, string strFunc, string strInfo = "");

private:
	CDoctrineLog(); // Private constructor
	string GetLogLevel(LOG_LEVEL level);

private:
	// Log callback function pointer
	FcnLogHandler	m_pfcnLogHandler;
	ENTITY_PTR*		m_pEntity;
	LOG_LEVEL		m_enumLogLevel;

};

⌨️ 快捷键说明

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