---
title: logging
sidebarTitle: logging
---

# `fastmcp.utilities.logging`


Logging utilities for FastMCP.

## Functions

### `get_logger` <sup><a href="https://github.com/jlowin/fastmcp/blob/main/src/fastmcp/utilities/logging.py#L14" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>

```python
get_logger(name: str) -> logging.Logger
```


Get a logger nested under FastMCP namespace.

**Args:**
- `name`: the name of the logger, which will be prefixed with 'FastMCP.'

**Returns:**
- a configured logger instance


### `configure_logging` <sup><a href="https://github.com/jlowin/fastmcp/blob/main/src/fastmcp/utilities/logging.py#L29" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>

```python
configure_logging(level: Literal['DEBUG', 'INFO', 'WARNING', 'ERROR', 'CRITICAL'] | int = 'INFO', logger: logging.Logger | None = None, enable_rich_tracebacks: bool | None = None, **rich_kwargs: Any) -> None
```


Configure logging for FastMCP.

**Args:**
- `logger`: the logger to configure
- `level`: the log level to use
- `rich_kwargs`: the parameters to use for creating RichHandler


### `temporary_log_level` <sup><a href="https://github.com/jlowin/fastmcp/blob/main/src/fastmcp/utilities/logging.py#L99" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>

```python
temporary_log_level(level: str | None, logger: logging.Logger | None = None, enable_rich_tracebacks: bool | None = None, **rich_kwargs: Any)
```


Context manager to temporarily set log level and restore it afterwards.

**Args:**
- `level`: The temporary log level to set (e.g., "DEBUG", "INFO")
- `logger`: Optional logger to configure (defaults to FastMCP logger)
- `enable_rich_tracebacks`: Whether to enable rich tracebacks
- `**rich_kwargs`: Additional parameters for RichHandler

