neuray API Programmer's Manual

ilogging_configuration.h File Reference

Description

API component for logging related settings.

Code Example

ilogging_configuration.h

‎/***************************************************************************************************
 * Copyright 2024 NVIDIA Corporation. All rights reserved.
 **************************************************************************************************/

#ifndef MI_NEURAYLIB_ILOGGING_CONFIGURATION_H
#define MI_NEURAYLIB_ILOGGING_CONFIGURATION_H

#include <mi/base/enums.h>
#include <mi/base/interface_declare.h>

namespace mi {

namespace base { class ILogger; }

namespace neuraylib {


enum Log_prefix {
    LOG_PREFIX_TIME         = 0x0001, 
    LOG_PREFIX_TIME_SECONDS = 0x0002, 
    LOG_PREFIX_HOST_THREAD  = 0x0004, 
    LOG_PREFIX_HOST_NAME    = 0x0008, 
    LOG_PREFIX_MODULE       = 0x0010, 
    LOG_PREFIX_CATEGORY     = 0x0020, 
    LOG_PREFIX_SEVERITY     = 0x0040, 
    LOG_PREFIX_CUDA_DEVICE  = 0x0080, 
    LOG_PREFIX_TAGS         = 0x0100, 
    LOG_PREFIX_FORCE_32_BIT = 0xffffffffU
};

mi_static_assert( sizeof( Log_prefix) == sizeof( Uint32));

class ILogging_configuration : public
    mi::base::Interface_declare<0xaf42fbf7,0xa7da,0x4f35,0xa7,0xcb,0xbe,0xb5,0xcc,0x11,0x3d,0x7c>
{
public:
    virtual void set_receiving_logger( base::ILogger* logger) = 0;

    virtual base::ILogger* get_receiving_logger() const = 0;

    virtual base::ILogger* get_forwarding_logger() const = 0;

    virtual Sint32 
               set_log_level( base::Message_severity level) = 0;

    virtual base::Message_severity 
               get_log_level() const = 0;

    virtual Sint32 
               set_log_level_by_category(
        const char* category,
        base::Message_severity level) = 0;

    virtual base::Message_severity 
               get_log_level_by_category( const char* category) const = 0;

    virtual void set_log_prefix( Uint32 prefix) = 0;

    virtual Uint32 
               get_log_prefix() const = 0;

    virtual Sint32 
               set_log_priority( Sint32 priority) = 0;

    virtual Sint32 
               get_log_priority() const = 0;

    virtual Sint32 
               set_log_locally( bool value) = 0;

    virtual bool get_log_locally() const = 0;
};
 // end group mi_neuray_configuration

} // namespace neuraylib

} // namespace mi

#endif // MI_NEURAYLIB_ILOGGING_CONFIGURATION_H

Namespaces

namespace 
Common namespace for APIs of NVIDIA Advanced Rendering Center GmbH. More...
namespace 
Namespace for the Base API. More...
namespace 
Namespace for the neuray API. More...

Classes

class 
This interface is used for configuring the logging for the . More...

Enumerations

enum  {LOG_PREFIX_TIME = 0x0001, LOG_PREFIX_TIME_SECONDS = 0x0002, LOG_PREFIX_HOST_THREAD = 0x0004, LOG_PREFIX_HOST_NAME = 0x0008, LOG_PREFIX_MODULE = 0x0010, LOG_PREFIX_CATEGORY = 0x0020, LOG_PREFIX_SEVERITY = 0x0040, LOG_PREFIX_CUDA_DEVICE = 0x0080, LOG_PREFIX_TAGS = 0x0100, LOG_PREFIX_FORCE_32_BIT = 0xffffffffU }
Components of the log message prefix. More...