> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.nvidia.com/holoscan/sdk-user-guide/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.nvidia.com/holoscan/sdk-user-guide/_mcp/server.

# holoscan::Logger

> A logger class that wraps spdlog.

A logger class that wraps spdlog.

Please see the [spdlog documentation](https://spdlog.docsforge.com/v1.x/api/spdlog/) for more details of the API.

```cpp showLineNumbers={false}
#include <holoscan/logger.hpp>
```

***

## Methods

### log\_message \[#logmessage]

#### Overload 1

```cpp showLineNumbers={false}
static void holoscan::Logger::log_message(
    const char *file,
    int line,
    const char *function_name,
    LogLevel level,
    fmt::string_view format,
    fmt::format_args args
)
```

#### Overload 2

```cpp showLineNumbers={false}
static void holoscan::Logger::log_message(
    LogLevel level,
    fmt::string_view format,
    fmt::format_args args
)
```

***

## Static methods

### set\_level \[#setlevel]

```cpp showLineNumbers={false}
static void holoscan::Logger::set_level(
    LogLevel level,
    bool *is_overridden_by_env = nullptr
)
```

### level \[#level]

```cpp showLineNumbers={false}
static LogLevel holoscan::Logger::level()
```

### set\_pattern \[#setpattern]

```cpp showLineNumbers={false}
static void holoscan::Logger::set_pattern(
    std::string pattern = "",
    bool *is_overridden_by_env = nullptr
)
```

### pattern \[#pattern]

```cpp showLineNumbers={false}
static std::string & holoscan::Logger::pattern()
```

### log \[#log]

#### Overload 1

```cpp showLineNumbers={false}
template <typename FormatT, typename... ArgsT>
static void holoscan::Logger::log(
    const char *file,
    int line,
    const char *function_name,
    LogLevel level,
    const FormatT &format,
    ArgsT &&... args
)
```

#### Overload 2

```cpp showLineNumbers={false}
template <typename FormatT, typename... ArgsT>
static void holoscan::Logger::log(
    LogLevel level,
    const FormatT &format,
    ArgsT &&... args
)
```

***

## Member variables

| Name                             | Type   | Description                                              |
| -------------------------------- | ------ | -------------------------------------------------------- |
| `log_pattern_set_by_user` static | `bool` | Flag to indicate if the log pattern was set by the user. |
| `log_level_set_by_user` static   | `bool` | Flag to indicate if the log level was set by the user.   |