Aller au contenu principal

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​

OptionTypeDéfautDescription
EnabledboolfalseIndique 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​

OptionTypeDéfautDescription
Enabledbooltrue en développement, false en productionActive la journalisation simplifiée dans la console.
ShowQueriesbooltrueIndique 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​

OptionTypeDéfautDescription
AutoFlushLevelLogLevelNoneNiveau minimum pour lequel chaque message est directement visible dans le fichier. None signifie Debug en build DEBUG, sinon Error.
DayToKeepint2Nombre de jours de conservation des fichiers de trace.
EnabledbooltrueActive la journalisation dans un fichier.
FolderPathstringChemin temporaire du systèmeDossier contenant les fichiers journaux.
FormatLgFileLoggerFormatIndentedJsonLinesFormat du fichier journal.
LogFilenamestringNom de la solutionNom racine du fichier dans FolderPath.
MaxFileSizestring5MTaille maximale du fichier avec unité K, M ou G.
MaxFileSizeInBytelong5242880Taille maximale du fichier en octets.
ShowUserboolfalseTrace l'identifiant de l'utilisateur connecté lorsqu'il est disponible.
ShowIpSourceboolfalseTrace l'adresse IP source lorsqu'elle est disponible.

Formats de fichier​

ValeurDescription
IndentedJsonLinesSéquence d'objets JSON indentés, plus lisible pour un humain.
JsonLinesFormat 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.