Journalisation des messages
La journalisation se configure dans le fichier appsettings.json du projet Server. Lagoon complète la journalisation ASP.NET Core avec une console simplifiée et un logger fichier.
Exemple de configuration
{
"Logging": {
"LogLevel": {
"Default": "Error"
}
},
"Lagoon": {
"DefaultLoggers": {
"Enabled": false
},
"LightConsoleLogger": {
"Enabled": true,
"ShowQueries": false
},
"FileLogger": {
"Enabled": true,
"LogFilename": "MonApp.txt",
"FolderPath": "C:\\Temp\\(Traces)",
"MaxFileSize": "5M",
"DayToKeep": 2,
"ShowUser": true
}
}
}
DefaultLoggers
| Option | Type | Défaut | Description |
|---|---|---|---|
Enabled | bool | false | Indique si les gestionnaires de journalisation pré-enregistrés dans l'environnement sont conservés, par exemple Console ou EventLog. |
Lorsque Lagoon:DefaultLoggers:Enabled n'est pas true, Lagoon appelle ClearProviders() puis ajoute ses loggers selon la configuration.
LightConsoleLogger
| Option | Type | Défaut | Description |
|---|---|---|---|
Enabled | bool | true en développement, false en production | Active la journalisation simplifiée dans la console. |
ShowQueries | bool | true | Indique si les requêtes EF Core sont tracées dans la console. |
Remarques
La console simplifiée affiche les messages propres à l'application, les avertissements et les erreurs. Elle n'est pas activée lorsque les DefaultLoggers sont activés.
FileLogger
| Option | Type | Défaut | Description |
|---|---|---|---|
AutoFlushLevel | LogLevel | None | Niveau minimum pour lequel chaque message est directement visible dans le fichier. None signifie Debug en build DEBUG, sinon Error. |
DayToKeep | int | 2 | Nombre de jours de conservation des fichiers de trace. |
Enabled | bool | true | Active la journalisation dans un fichier. |
FolderPath | string | Chemin temporaire du système | Dossier contenant les fichiers journaux. |
Format | LgFileLoggerFormat | IndentedJsonLines | Format du fichier journal. |
LogFilename | string | Nom de la solution | Nom racine du fichier dans FolderPath. |
MaxFileSize | string | 5M | Taille maximale du fichier avec unité K, M ou G. |
MaxFileSizeInByte | long | 5242880 | Taille maximale du fichier en octets. |
ShowUser | bool | false | Trace l'identifiant de l'utilisateur connecté lorsqu'il est disponible. |
ShowIpSource | bool | false | Trace l'adresse IP source lorsqu'elle est disponible. |
Formats de fichier
| Valeur | Description |
|---|---|
IndentedJsonLines | Séquence d'objets JSON indentés, plus lisible pour un humain. |
JsonLines | Format JSON Lines : chaque ligne est une valeur JSON valide terminée par \n. |
Consulter les logs depuis l'application
La route /lg/trace permet d'afficher les traces de l'application pour les utilisateurs autorisés par la policy Policies.LogReader, dont la valeur est log.read.