= Log Filter

Les "Log Filter" dans chaque `step` permettent de filtrer des logs produits par Odoo (ou une librairie) comme autorisés.

Vous pouvez uniquement filtrer des _logs_ de niveau `WARNING`.
Les niveaux `CRITICAL` et `ERROR` sont **toujours en erreur**.
Les niveaux `INFO` et `DEBUG` sont **toujours acceptés**

Il est possible de décider le nombre de fois, et par qui, ce _log_ doit être émis.

IMPORTANT: Un maximum de `10` _match_ (par `step`) a été choisi. Au-delà, il faut sûrement regarder pourquoi ce log apparait aussi souvent

En version simple, directement dans la `step` dans l'attribut `log-filter` sous la forme d'une https://toml.io/en/v1.0.0#array[liste] de https://toml.io/en/v1.0.0#string[Literal strings] (avec `'` au lieu de `"`)

.Format simple
[,toml]
----
[tool.runbot.step.step1]
# ... Les autres attributs de la step
log-filter = ['.*my regex.*'] # <1>
----
<1> Bien mettre entre simple _quote_ `'`


CAUTION: Dans le format simple, le _log_ doit apparaitre **exactement 1 fois**.

Il est aussi possible d'être plus précis en choisissant le nombre de fois où le message doit apparaître, et pour quel `logger`. +
Dans ce cas, c'est une https://toml.io/en/v1.0.0#array-of-tables[liste de tables], donc avec `\[[tool.runbot.<step name>.log-filter]]`

.Format complet
[,toml]
----
[tool.runbot.step.step1]
# ... Les autres attributs de la step

[[tool.runbot.step.step1.log-filter]]
#name = "My Step - Filter 1" <1>
regex = '.*my regex.*'
#min-match = 1 <1>
#max-match = 1 <1>
----
<1> Valeurs par défaut pour l'exemple

== Champs possibles

|===
| name | Type Toml | Par défaut

| name | https://toml.io/en/v1.0.0#string[string] | `"Step XX - Filter YYY"` avec `XX` le numéro de la step, `YY` le numéro du filtre
| regex | https://toml.io/en/v1.0.0#string[Literal strings] | *Obligatoire*
| logger | https://toml.io/en/v1.0.0#string[string] | `""`
| min_match | int | `1`
| max_match | int | `1` max `100`
|===

NOTE: Seul l'attribut `regex` est obligatoire.
