//---------------------------------------------------------------------------- // // Copyright (C) Intel Corporation, 2006 - 2007. // // File: Logger.h // // Contents: Handles the logging mechanism of the MPS. // // Notes: //---------------------------------------------------------------------------- #ifndef _Logger_H__ #define _Logger_H__ #include #include #include "ObserverPattern.h" #include "OptionsUtils.h" #define LOG_FILE_SIZE_SAMPLE_INTERVAL "5" class Logger : public Observer_Pattern_Observer { public: Logger() : _init(false) {} STATUS init(const char * logFileName); ~Logger() {} bool checkInit() { return _init; } int update() { if (!checkInit()) { ACE_ERROR_RETURN((LM_ERROR, "Cannot update Logger since it was not initialized.\n"), STATUS_FAILURE); } u_long mask = priorities(getTraceLevel()->c_str()); ACE_LOG_MSG->priority_mask(mask, ACE_Log_Msg::PROCESS); return 0; } void close(); private: bool _init; ACE_Logging_Strategy _logging_strategy; // Parse the string containing (thread) priorities and set them // accordingly. This function is a modified ACE function. u_long priorities(const ACE_TCHAR *priority_string); }; #endif /* _Logger_H__ */