58 lines
1.2 KiB
C++
58 lines
1.2 KiB
C++
//----------------------------------------------------------------------------
|
|
//
|
|
// 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 <ace/Logging_Strategy.h>
|
|
#include <ace/Log_Msg.h>
|
|
|
|
#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__ */ |