# 로깅

🤗 Diffusers는 라이브러리 로그의 상세 수준을 쉽게 관리할 수 있도록 중앙 집중식 로깅 시스템을 제공합니다. 기본 상세 수준은 `WARNING`으로 설정되어 있습니다.

로그 수준을 변경하려면 직접 설정자를 사용하세요. 예를 들어, 로그 수준을 `INFO` 수준으로 변경하려면 다음과 같습니다.

```python
import diffusers

diffusers.logging.set_verbosity_info()
```

환경 변수 `DIFFUSERS_VERBOSITY`를 사용하여 기본 verbosity를 재정의할 수도 있습니다. 다음 값 중 하나로 설정할 수 있습니다: `debug`, `info`, `warning`, `error`, `critical`. 예를 들어:

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

또한, 환경 변수 `DIFFUSERS_NO_ADVISORY_WARNINGS`를 `1`과 같은 true 값으로 설정하면 일부 `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 모듈의 모든 메서드는 아래에 문서화되어 있습니다. 주요 메서드는 로거의 현재 verbosity 수준을 가져오는 `logging.get_verbosity`와 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`를 사용하여 이 동작을 활성화하거나 비활성화합니다.

## 기본 세터[[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)

verbose 수준을 `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)

verbosity를 `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)

verbose 수준을 `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)

verbose 수준을 `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 진행 표시줄을 비활성화합니다.

