5 #include "util/intrusive_ptr.h" 6 #include "util/mutex.h" 9 #pragma warning( push ) 10 #pragma warning( disable:4275 ) 11 #pragma warning( disable:4251 ) 48 typedef ParaIntrusivePtr <CServiceLogger> CServiceLogger_ptr_type;
55 static CServiceLogger_ptr_type GetLogger(
const std::string& name);
60 static CServiceLogger_ptr_type GetLogger(
const char*
const name);
65 void WriteServiceFormated(
const char *, ...);
67 typedef ParaIntrusivePtr <CServiceLogger> CServiceLogger_ptr;
125 CServiceLogger_ptr GetLogger(
const std::string& name);
130 CServiceLogger_ptr GetLogger(
const char*
const name);
133 typedef std::map<std::string, CServiceLogger_ptr> LoggerMap_Type;
136 LoggerMap_Type m_logger_map;
153 #define SERVICE_LOG(logger, level, message) { \ 154 if (logger->IsEnabledFor(level)) {\ 155 logger->ForcedLog(level, message, SERVICE_LOG_LOCATION); } } 160 #define SERVICE_LOG1(logger, message, ...) \ 161 logger->WriteServiceFormated(message, ## __VA_ARGS__); 164 #pragma warning( pop ) different physics engine has different winding order.
Definition: EventBinding.h:32
Log rules.
Definition: LogService.h:113
CServiceLogger is a more advanced multi-threaded logger than the simple CLogger it supports log level...
Definition: LogService.h:38
multi-threaded reference counted base class for boost::intrusive_ptr all boost::intrusive_ptr<T>, should derive from this class.
Definition: intrusive_ptr.h:47
cross platform mutex
Definition: mutex.h:95
a logger can only write to a given file.
Definition: Log.h:107