# Registro

🤗 O Transformers possui um sistema de log centralizado, para que você possa configurar a verbosidade da biblioteca com facilidade.

Atualmente, o nível de detalhamento padrão da biblioteca é `WARNING`.

Para alterar o nível de verbosidade, basta usar um dos setters diretos. Por exemplo, veja como alterar a verbosidade para o nível INFO.

```python
import transformers

transformers.logging.set_verbosity_info()
```

Você também pode usar a variável de ambiente `TRANSFORMERS_VERBOSITY` para substituir a verbosidade padrão. Você pode configurá-la com um dos seguintes valores: `debug`, `info`, `warning`, `error`, `critical`, `fatal`. Por exemplo:

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

Além disso, alguns `warnings` podem ser desativados definindo a variável de ambiente `TRANSFORMERS_NO_ADVISORY_WARNINGS` para um valor verdadeiro, como *1*. Isso desativará qualquer aviso registrado usando `logger.warning_advice`. Por exemplo:

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

Aqui está um exemplo de como usar o mesmo logger da biblioteca no seu próprio módulo ou script:

```python
from transformers.utils import logging

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

Todos os métodos deste módulo de log estão documentados abaixo. Os principais são [logging.get_verbosity()](/docs/transformers/main/pt/main_classes/logging#transformers.utils.logging.get_verbosity) para obter o nível de verbosidade atual do logger e [logging.set_verbosity()](/docs/transformers/main/pt/main_classes/logging#transformers.utils.logging.set_verbosity) para definir a verbosidade no nível de sua escolha. Em ordem (do menos verboso ao mais verboso), esses níveis (com seus valores int correspondentes entre parênteses) são:

- `transformers.logging.CRITICAL` ou `transformers.logging.FATAL` (valor int, 50): relata apenas os erros mais críticos.
- `transformers.logging.ERROR` (valor int, 40): relata apenas erros.
- `transformers.logging.WARNING` ou `transformers.logging.WARN` (valor int, 30): relata apenas erros e avisos. Este é o nível padrão usado pela biblioteca.
- `transformers.logging.INFO` (valor int, 20): relata erros, avisos e informações básicas.
- `transformers.logging.DEBUG` (valor int, 10): relata todas as informações.

Por padrão, as barras de progresso `tqdm` são exibidas durante o download do modelo. [logging.disable_progress_bar()](/docs/transformers/main/pt/main_classes/logging#transformers.utils.logging.disable_progress_bar) e [logging.enable_progress_bar()](/docs/transformers/main/pt/main_classes/logging#transformers.utils.logging.enable_progress_bar) podem ser usados para suprimir ou reverter esse comportamento.

## `logging` vs `warnings`[[transformers.utils.logging.captureWarnings]]

O Python possui dois sistemas de log que são frequentemente usados em conjunto: `logging`, explicado acima, e `warnings`, que permite classificar ainda mais os avisos em categorias específicas, por exemplo, `FutureWarning` para um recurso ou caminho que já foi descontinuado e `DeprecationWarning` para indicar uma descontinuação futura.

Usamos ambos na biblioteca `transformers`. Aproveitamos e adaptamos o método `captureWarnings` do `logging` para permitir o gerenciamento dessas mensagens de aviso pelos definidores de verbosidade acima.

O que isso significa para os desenvolvedores da biblioteca? Devemos respeitar as seguintes heurísticas:

- `warnings` devem ser preferidos para desenvolvedores da biblioteca e de bibliotecas dependentes de `transformers`
- `logging` deve ser usado por usuários finais da biblioteca em projetos do dia a dia

Veja a referência do método `captureWarnings` abaixo.

#### transformers.utils.logging.captureWarnings[[transformers.utils.logging.captureWarnings]]

```python
transformers.utils.logging.captureWarnings(capture)
```

[Origem](https://github.com/huggingface/transformers/blob/main/src/transformers/utils/logging.py#L136)

Chama o método `captureWarnings` da biblioteca de logging para permitir o gerenciamento dos avisos emitidos pela biblioteca `warnings`.

Saiba mais sobre este método aqui: https://docs.python.org/3/library/logging.html#integration-with-the-warnings-module

Todos os avisos serão registrados por meio do logger `py.warnings`.

Atenção: este método também adiciona um manipulador a este logger, caso ele ainda não tenha um, e atualiza o nível de log desse logger para o logger raiz da biblioteca.

## Setters de base[[transformers.utils.logging.set_verbosity_error]]

#### transformers.utils.logging.set_verbosity_error[[transformers.utils.logging.set_verbosity_error]]

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

[Origem](https://github.com/huggingface/transformers/blob/main/src/transformers/utils/logging.py#L230)

Defina a verbosidade para o nível `ERROR`.

#### transformers.utils.logging.set_verbosity_warning[[transformers.utils.logging.set_verbosity_warning]]

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

[Origem](https://github.com/huggingface/transformers/blob/main/src/transformers/utils/logging.py#L220)

Defina a verbosidade para o nível `WARNING`.

#### transformers.utils.logging.set_verbosity_info[[transformers.utils.logging.set_verbosity_info]]

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

[Origem](https://github.com/huggingface/transformers/blob/main/src/transformers/utils/logging.py#L215)

Defina a verbosidade para o nível `INFO`.

#### transformers.utils.logging.set_verbosity_debug[[transformers.utils.logging.set_verbosity_debug]]

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

[Origem](https://github.com/huggingface/transformers/blob/main/src/transformers/utils/logging.py#L225)

Defina a verbosidade para o nível `DEBUG`.

## Outras funções[[transformers.utils.logging.get_verbosity]]

#### transformers.utils.logging.get_verbosity[[transformers.utils.logging.get_verbosity]]

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

[Origem](https://github.com/huggingface/transformers/blob/main/src/transformers/utils/logging.py#L173)

**Retorna:** `int`

O nível de log.

Retorna o nível atual do logger raiz do 🤗 Transformers como um int.

O 🤗 Transformers possui os seguintes níveis de log:

- 50: `transformers.logging.CRITICAL` ou `transformers.logging.FATAL`
- 40: `transformers.logging.ERROR`
- 30: `transformers.logging.WARNING` ou `transformers.logging.WARN`
- 20: `transformers.logging.INFO`
- 10: `transformers.logging.DEBUG`

#### transformers.utils.logging.set_verbosity[[transformers.utils.logging.set_verbosity]]

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

[Origem](https://github.com/huggingface/transformers/blob/main/src/transformers/utils/logging.py#L196)

**Parâmetros:**

verbosity (`int`) : Nível de log, por exemplo, um dos seguintes: - `transformers.logging.CRITICAL` ou `transformers.logging.FATAL` - `transformers.logging.ERROR` - `transformers.logging.WARNING` ou `transformers.logging.WARN` - `transformers.logging.INFO` - `transformers.logging.DEBUG`

Defina o nível de verbosidade do logger raiz do 🤗 Transformers.

#### transformers.utils.logging.get_logger[[transformers.utils.logging.get_logger]]

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

[Origem](https://github.com/huggingface/transformers/blob/main/src/transformers/utils/logging.py#L159)

Retorna um logger com o nome especificado.

Esta função não deve ser acessada diretamente, a menos que você esteja escrevendo um módulo personalizado de transformers.

#### transformers.utils.logging.enable_default_handler[[transformers.utils.logging.enable_default_handler]]

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

[Origem](https://github.com/huggingface/transformers/blob/main/src/transformers/utils/logging.py#L244)

Ative o manipulador padrão do logger raiz do HuggingFace Transformers.

#### transformers.utils.logging.disable_default_handler[[transformers.utils.logging.disable_default_handler]]

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

[Origem](https://github.com/huggingface/transformers/blob/main/src/transformers/utils/logging.py#L235)

Desative o manipulador padrão do logger raiz do HuggingFace Transformers.

#### transformers.utils.logging.enable_explicit_format[[transformers.utils.logging.enable_explicit_format]]

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

[Origem](https://github.com/huggingface/transformers/blob/main/src/transformers/utils/logging.py#L290)

Ative o formato explícito para cada logger do HuggingFace Transformers. O formatador explícito é o seguinte:
```
    [LEVELNAME|FILENAME|LINE NUMBER] TIME >> MESSAGE
```

Todos os handlers atualmente vinculados ao logger raiz são afetados por este método.

#### transformers.utils.logging.reset_format[[transformers.utils.logging.reset_format]]

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

[Origem](https://github.com/huggingface/transformers/blob/main/src/transformers/utils/logging.py#L305)

Redefine o formato dos registradores do HuggingFace Transformers.

Todos os handlers atualmente vinculados ao logger raiz são afetados por este método.

#### transformers.utils.logging.enable_progress_bar[[transformers.utils.logging.enable_progress_bar]]

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

[Origem](https://github.com/huggingface/transformers/blob/main/src/transformers/utils/logging.py#L410)

Ative a barra de progresso do tqdm.

#### transformers.utils.logging.disable_progress_bar[[transformers.utils.logging.disable_progress_bar]]

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

[Origem](https://github.com/huggingface/transformers/blob/main/src/transformers/utils/logging.py#L417)

Desative a barra de progresso do tqdm.

