/*   \details  
*   Utilities provides support for logging. 
*
*   \date   11/11/11
*   \copyright eBay Research Labs.
*/

#ifndef MANTIS_LOG_H
# define MANTIS_LOG_H 1

// #include "clsLogOutput.h"

#define MANTIS_REPORT_EVENT(Name, Status, Arg) report_event(__FILE__, __LINE__, __FUNCTION__, Name, Status, Arg)
#define MANTIS_REPORT_ERROR(Name, Arg)  MANTIS_REPORT_EVENT(Name, "E", Arg)

// This is for debugging
#ifndef MANTIS_DEBUG
#define MANTIS_LOG(prefix, format, ... ) 
#define MANTIS_DEBUG(format, ... )
#else
#define MANTIS_LOG(prefix, format, ... ) clsLogOutput::GetInstance()->WriteLogEntry(prefix, format, ##__VA_ARGS__)
#define MANTIS_DEBUG(format, ... ) MANTIS_LOG("MANTIS_DEBUG\t", format, ##__VA_ARGS__)
#endif

// Logging 
void report_event(const char* file, int line, const char*  func, const char* Name, const char* Status, const char* Arg);

#endif
