ilogger.h File Reference
Description
Logger interface class that supports message logging. See Logging.
Code Example
ilogger.h
//*****************************************************************************
// Copyright 1986, 2016 NVIDIA Corporation. All rights reserved.
//*****************************************************************************
//*****************************************************************************
#ifndef MI_BASE_ILOGGER_H
#define MI_BASE_ILOGGER_H
#include <cstdarg>
#include <cstdio>
#include <mi/base/config.h>
#include <mi/base/enums.h>
#include <mi/base/iinterface.h>
#include <mi/base/interface_declare.h>
namespace mi {
namespace base {
class ILogger : public
Interface_declare<0x4afbf19a,0x5fb7,0x4422,0xae,0x4b,0x25,0x13,0x06,0x2c,0x30,0x5f>
{
public:
virtual void message(
Message_severity level, const char* module_category, const char* message) = 0;
inline void printf(
Message_severity level, const char* module_category, const char* message, ...)
#ifdef MI_COMPILER_GCC
__attribute__((format(printf, 4, 5)))
#endif
{
va_list args;
va_start( args, message);
char buffer[1024];
#ifdef MI_COMPILER_MSC
vsnprintf_s( &buffer[0], sizeof( buffer), sizeof( buffer)-1, message, args);
#else
vsnprintf( &buffer[0], sizeof( buffer)-1, message, args);
#endif
this->message( level, module_category, &buffer[0]);
va_end( args);
}
};
// end group mi_base_ilogger
} // namespace base
} // namespace mi
#endif // MI_BASE_ILOGGER_H
Namespaces
- namespace
- Common namespace for APIs of NVIDIA Advanced Rendering Center GmbH. More...
- namespace
- Namespace for the Base API. More...
Classes
- class
- The ILogger interface class supports logging of messages. More...