# 日志记录

🤗 Diffusers 拥有一个集中式日志系统，便于管理库的日志详细程度。默认详细程度设置为 `WARNING`。

要更改详细程度级别，请使用其中一个直接设置器。例如，将详细程度更改为 `INFO` 级别。

```python
import diffusers

diffusers.logging.set_verbosity_info()
```

您还可以使用环境变量 `DIFFUSERS_VERBOSITY` 来覆盖默认的日志详细程度。您可以将其设置为以下值之一：`debug`、`info`、`warning`、`error`、`critical`。例如：

```bash
DIFFUSERS_VERBOSITY=error ./myprogram.py
```

此外，通过将环境变量 `DIFFUSERS_NO_ADVISORY_WARNINGS` 设置为真值（例如 `1`），可以禁用某些 `warnings`。这将禁用由 `logger.warning_advice` 记录的任何警告。例如：

```bash
DIFFUSERS_NO_ADVISORY_WARNINGS=1 ./myprogram.py
```

以下是在您自己的模块或脚本中使用与库相同的日志记录器的示例：

```python
from diffusers.utils import logging

logging.set_verbosity_info()
logger = logging.get_logger("diffusers")
logger.info("INFO")
logger.warning("WARN")
```

日志模块的所有方法都在下文中有文档说明。主要方法包括 `logging.get_verbosity`，用于获取日志记录器当前的详细程度级别，以及 `logging.set_verbosity`，用于将详细程度设置为您选择的级别。

按从最简洁到最冗长的顺序排列：

|                                                    方法 | 整数值 |                                         描述 |
|----------------------------------------------------------:|--------------:|----------------------------------------------------:|
| `diffusers.logging.CRITICAL` 或 `diffusers.logging.FATAL` |            50 |                仅报告最关键的错误 |
|                                 `diffusers.logging.ERROR` |            40 |                                  仅报告错误 |
|   `diffusers.logging.WARNING` 或 `diffusers.logging.WARN` |            30 |           仅报告错误和警告（默认） |
|                                  `diffusers.logging.INFO` |            20 | 仅报告错误、警告和基本信息 |
|                                 `diffusers.logging.DEBUG` |            10 |                              报告所有信息 |

默认情况下，在模型下载过程中会显示 `tqdm` 进度条。`logging.disable_progress_bar` 和 `logging.enable_progress_bar` 用于启用或禁用此行为。

## 基础 setter[[diffusers.utils.logging.set_verbosity_error]]

#### diffusers.utils.logging.set_verbosity_error[[diffusers.utils.logging.set_verbosity_error]]

```python
diffusers.utils.logging.set_verbosity_error()
```

[源代码](https://github.com/huggingface/diffusers/blob/main/src/diffusers/utils/logging.py#L201)

将详细程度设置为`ERROR`级别。

#### diffusers.utils.logging.set_verbosity_warning[[diffusers.utils.logging.set_verbosity_warning]]

```python
diffusers.utils.logging.set_verbosity_warning()
```

[源代码](https://github.com/huggingface/diffusers/blob/main/src/diffusers/utils/logging.py#L191)

将详细程度设置为`WARNING`级别。

#### diffusers.utils.logging.set_verbosity_info[[diffusers.utils.logging.set_verbosity_info]]

```python
diffusers.utils.logging.set_verbosity_info()
```

[源代码](https://github.com/huggingface/diffusers/blob/main/src/diffusers/utils/logging.py#L186)

将详细程度设置为 `INFO` 级别。

#### diffusers.utils.logging.set_verbosity_debug[[diffusers.utils.logging.set_verbosity_debug]]

```python
diffusers.utils.logging.set_verbosity_debug()
```

[源代码](https://github.com/huggingface/diffusers/blob/main/src/diffusers/utils/logging.py#L196)

将详细程度设置为`DEBUG`级别。

## 其他函数[[diffusers.utils.logging.get_verbosity]]

#### diffusers.utils.logging.get_verbosity[[diffusers.utils.logging.get_verbosity]]

```python
diffusers.utils.logging.get_verbosity()
```

[源代码](https://github.com/huggingface/diffusers/blob/main/src/diffusers/utils/logging.py#L147)

**返回值：** `int`

可以是以下之一的日志级别整数：

- `50`：`diffusers.logging.CRITICAL` 或 `diffusers.logging.FATAL`
- `40`: `diffusers.logging.ERROR`
- `30`： `diffusers.logging.WARNING` 或 `diffusers.logging.WARN`
- `20`: `diffusers.logging.INFO`
- `10`: `diffusers.logging.DEBUG`

返回 🤗 Diffusers 根日志记录器当前的级别，类型为 `int`。

#### diffusers.utils.logging.set_verbosity[[diffusers.utils.logging.set_verbosity]]

```python
diffusers.utils.logging.set_verbosity(verbosity: int)
```

[源代码](https://github.com/huggingface/diffusers/blob/main/src/diffusers/utils/logging.py#L167)

**参数：**

verbosity (`int`) : 日志级别，可以是以下之一： - `diffusers.logging.CRITICAL` 或 `diffusers.logging.FATAL` - `diffusers.logging.ERROR` - `diffusers.logging.WARNING` 或 `diffusers.logging.WARN` - `diffusers.logging.INFO` - `diffusers.logging.DEBUG`

设置 🤗 Diffusers 根日志记录器的详细程度级别。

#### diffusers.utils.get_logger[[diffusers.utils.get_logger]]

```python
diffusers.utils.get_logger(name: str | None = None)
```

[源代码](https://github.com/huggingface/diffusers/blob/main/src/diffusers/utils/logging.py#L131)

返回一个具有指定名称的日志记录器。

除非您正在编写自定义的 diffusers 模块，否则不应直接访问此函数。

#### diffusers.utils.logging.enable_default_handler[[diffusers.utils.logging.enable_default_handler]]

```python
diffusers.utils.logging.enable_default_handler()
```

[源代码](https://github.com/huggingface/diffusers/blob/main/src/diffusers/utils/logging.py#L215)

启用 🤗 Diffusers 根日志记录器的默认处理器。

#### diffusers.utils.logging.disable_default_handler[[diffusers.utils.logging.disable_default_handler]]

```python
diffusers.utils.logging.disable_default_handler()
```

[源代码](https://github.com/huggingface/diffusers/blob/main/src/diffusers/utils/logging.py#L206)

禁用 🤗 Diffusers 根日志记录器的默认处理器。

#### diffusers.utils.logging.enable_explicit_format[[diffusers.utils.logging.enable_explicit_format]]

```python
diffusers.utils.logging.enable_explicit_format()
```

[源代码](https://github.com/huggingface/diffusers/blob/main/src/diffusers/utils/logging.py#L261)

为每个 🤗 Diffusers 日志记录器启用显式格式化。显式格式化器如下：
```
[LEVELNAME|FILENAME|LINE NUMBER] TIME >> MESSAGE
```

当前绑定到根记录器的所有处理器都会受到此方法的影响。

#### diffusers.utils.logging.reset_format[[diffusers.utils.logging.reset_format]]

```python
diffusers.utils.logging.reset_format()
```

[源代码](https://github.com/huggingface/diffusers/blob/main/src/diffusers/utils/logging.py#L276)

重置 🤗 Diffusers 日志记录器的格式。

当前绑定到根记录器的所有处理器都会受到此方法的影响。

#### diffusers.utils.logging.enable_progress_bar[[diffusers.utils.logging.enable_progress_bar]]

```python
diffusers.utils.logging.enable_progress_bar()
```

[源代码](https://github.com/huggingface/diffusers/blob/main/src/diffusers/utils/logging.py#L352)

启用 tqdm 进度条。

#### diffusers.utils.logging.disable_progress_bar[[diffusers.utils.logging.disable_progress_bar]]

```python
diffusers.utils.logging.disable_progress_bar()
```

[源代码](https://github.com/huggingface/diffusers/blob/main/src/diffusers/utils/logging.py#L358)

禁用 tqdm 进度条。

