TensorRT 8.5.3
nvinfer1::ILogger Class Referenceabstract

Application-implemented logging interface for the builder, refitter and runtime. More...

#include <NvInferRuntimeCommon.h>

Public Types

enum class  Severity : int32_t {
  kINTERNAL_ERROR = 0 , kERROR = 1 , kWARNING = 2 , kINFO = 3 ,
  kVERBOSE = 4

Public Member Functions

virtual void log (Severity severity, AsciiChar const *msg) noexcept=0
 ILogger ()=default
virtual ~ILogger ()=default

Detailed Description

Application-implemented logging interface for the builder, refitter and runtime.

The logger used to create an instance of IBuilder, IRuntime or IRefitter is used for all objects created through that interface. The logger should be valid until all objects created are released.

The Logger object implementation must be thread safe. All locking and synchronization is pushed to the interface implementation and TensorRT does not hold any synchronization primitives when calling the interface functions.

Member Enumeration Documentation

◆ Severity

enum class nvinfer1::ILogger::Severity : int32_t

The severity corresponding to a log message.


An internal error has occurred. Execution is unrecoverable.


An application error has occurred.


An application error has been discovered, but TensorRT has recovered or fallen back to a default.


Informational messages with instructional information.


Verbose messages with debugging information.

Constructor & Destructor Documentation

◆ ILogger()

nvinfer1::ILogger::ILogger ( )

◆ ~ILogger()

virtual nvinfer1::ILogger::~ILogger ( )

Member Function Documentation

◆ log()

virtual void nvinfer1::ILogger::log ( Severity  severity,
AsciiChar const *  msg 
pure virtualnoexcept

A callback implemented by the application to handle logging messages;

severityThe severity of the message.
msgA null-terminated log message.

Usage considerations

  • Allowed context for the API call
    • Thread-safe: Yes, this method is required to be thread-safe and may be called from multiple threads when multiple execution contexts are used during runtime, or if the same logger is used for multiple runtimes, builders, or refitters.

The documentation for this class was generated from the following file: