#pragma once #include #include "Log4CPP.Logger.hpp" #include "Log4CPP.TLSLog.Tracing.hpp" #include "mLog.Log4CPP.hpp" //----------------------------------------------------------------------------- // mLogList 是对 mLog 的简单封装 //----------------------------------------------------------------------------- //逻辑设备类型 enum Dev_TypeLog { Dev_TypeNULL = -1, Dev_Generator = 0, Dev_Mechanical = 1, Dev_Collimator = 2, Dev_SynBox = 3, Dev_Detector = 4, Dev_TypeALL }; namespace mLogList { extern std::map gLoggerList; //extern Dev_TypeLog eCurrLogType; template inline void Force (const char* fmt, Args... args) { // assert (gLogger); if (!gLoggerList[eCurrLogType]) return; gLoggerList[eCurrLogType]->Force (fmt, args...); } template inline void Log (const char* fmt, Args... args) { // assert (gLogger); if (!gLoggerList[eCurrLogType]) return; gLoggerList[eCurrLogType]->Info (fmt, args...); } template inline void Trace (const char* fmt, Args... args) { // assert (gLogger); if (!gLoggerList[eCurrLogType]) return; gLoggerList[eCurrLogType]->Trace (fmt, args...); } template inline void Debug (const char* fmt, Args... args) { // assert (gLogger); if (!gLoggerList[eCurrLogType]) return; gLoggerList[eCurrLogType]->Debug (fmt, args...); } template inline void Info (const char* fmt, Args... args) { // assert (gLogger); if (!gLoggerList[eCurrLogType]) return; gLoggerList[eCurrLogType]->Info (fmt, args...); } template inline void Notice (const char* fmt, Args... args) { // assert (gLogger); if (!gLoggerList[eCurrLogType]) return; gLoggerList[eCurrLogType]->Notice (fmt, args...); } template inline void Warn (const char* fmt, Args... args) { // assert (gLogger); if (!gLoggerList[eCurrLogType]) return; gLoggerList[eCurrLogType]->Warn (fmt, args...); } template inline void Warning (const char* fmt, Args... args) { // assert (gLogger); if (!gLoggerList[eCurrLogType]) return; gLoggerList[eCurrLogType]->Warn (fmt, args...); } template inline void Error (const char* fmt, Args... args) { // assert (gLogger); if (!gLoggerList[eCurrLogType]) return; gLoggerList[eCurrLogType]->Error (fmt, args...); } template inline void Fatal (const char* fmt, Args... args) { // assert (gLogger); if (!gLoggerList[eCurrLogType]) return; gLoggerList[eCurrLogType]->Fatal (fmt, args...); } inline void Close () { // assert (gLogger); if (!gLoggerList[eCurrLogType]) return; gLoggerList[eCurrLogType]->Close (); } };