logologo
Démarrer
Manuel
Développement
Plugins
API
English
简体中文
日本語
한국어
Deutsch
Français
Español
Português
Русский
Italiano
Türkçe
Українська
Tiếng Việt
Bahasa Indonesia
ไทย
Polski
Nederlands
Čeština
العربية
עברית
हिन्दी
Svenska
Démarrer
Manuel
Développement
Plugins
API
logologo

Logs

Journaux du serveur, Journaux d'audit et Historique des modifications
Next PageJournaux du serveur, Journaux d'audit et Historique des modifications
Avis de traduction IA

Cette documentation a été traduite automatiquement par IA.

#pkg: '@nocobase/plugin-logger'

#Logs

This feature is provided by the plugin «Journalisation»

#Introduction

Les logs sont un moyen essentiel pour nous aider à identifier les problèmes système. Les logs serveur de NocoBase comprennent principalement les logs de requêtes d'API et les logs de fonctionnement du système. Ils prennent en charge la configuration du niveau de log, de la stratégie de rotation, de la taille, du format d'affichage, et bien plus encore. Ce document présente principalement le contenu relatif aux logs serveur de NocoBase, ainsi que la manière d'utiliser les fonctionnalités d'archivage et de téléchargement des logs serveur offertes par le plugin de journalisation.

#Configuration des logs

Vous pouvez configurer les paramètres liés aux logs, tels que le niveau de log, la méthode de sortie et le format d'affichage, via les variables d'environnement.

#Formats de logs

NocoBase prend en charge la configuration de quatre formats de logs différents.

#console

C'est le format par défaut en environnement de développement, où les messages sont affichés avec des couleurs de surbrillance.

2023-12-30 22:40:06 [info]  response                                     method=GET path=/api/uiSchemas:getJsonSchema/nocobase-admin-menu res={"status":200} action={"actionName":"getJsonSchema","resourceName":"uiSchemas","params":{"filterByTk":"nocobase-admin-menu","resourceName":"uiSchemas","resourceIndex":"nocobase-admin-menu","actionName":"getJsonSchema"}} userId=1 status=200 cost=5 app=main reqId=ccf4e3bd-beb0-4350-af6e-b1fc1d9b6c3f
2023-12-30 22:43:12 [debug] Database dialect: mysql                      module=application method=install app=main reqId=31ffa8b5-f77-456b-a295-0c8a28938228
2023-12-30 22:43:12 [warn]  app is installed                             module=application method=install app=main reqId=31ffa8b5-f77-456b-a295-0c8a28938228

#json

C'est le format par défaut en environnement de production.

{
  "level": "info",
  "timestamp": "2023-12-26 22:04:56",
  "reqId": "7612ef42-58e8-4c35-bac2-2e6c9d8ec96e",
  "message": "response",
  "method": "POST",
  "path": "/api/authenticators:publicList",
  "res": { "status": 200 },
  "action": {
    "actionName": "publicList",
    "resourceName": "authenticators",
    "params": { "resourceName": "authenticators", "actionName": "publicList" }
  },
  "status": 200,
  "cost": 16
}

#logfmt

https://brandur.org/logfmt.

level=info timestamp=2023-12-21 14:18:02 reqId=8b59a40d-68ee-4c97-8001-71a47a92805a
message=response method=POST path=/api/authenticators:publicList res={"status":200}
action={"actionName":"publicList","resourceName":"authenticators","params":{"resourceName":"authenticators","actionName":"publicList"}}
userId=undefined status=200 cost=14

#delimiter

Les champs sont séparés par le délimiteur |.

info|2023-12-26 22:07:09|13cd16f0-1568-418d-ac37-6771ee650e14|response|POST|/api/authenticators:publicList|{"status":200}|{"actionName":"publicList","resourceName":"authenticators","params":{"resourceName":"authenticators","actionName":"publicList"}}||200|25

#Répertoire des logs

La structure principale des répertoires des fichiers de logs NocoBase est la suivante :

  • storage/logs - Répertoire de sortie des logs
    • main - Nom de l'application principale
      • request_YYYY-MM-DD.log - Log des requêtes
      • system_YYYY-MM-DD.log - Log système
      • system_error_YYYY-MM-DD.log - Log des erreurs système
      • sql_YYYY-MM-DD.log - Log d'exécution SQL
      • ...
    • sub-app - Nom de la sous-application
      • request_YYYY-MM-DD.log
      • ...

#Fichiers de logs

#Log des requêtes

request_YYYY-MM-DD.log, logs des requêtes et réponses d'API.

ChampDescription
levelNiveau de log
timestampHeure d'enregistrement du log AAAA-MM-JJ hh:mm:ss
messagerequest ou response
userIdPrésent uniquement dans response
methodMéthode de la requête
pathChemin de la requête
req / resContenu de la requête/réponse
actionRessources et paramètres de la requête
statusCode de statut de la réponse
costDurée de la requête
appNom de l'application actuelle
reqIdID de la requête
Note

L'reqId est transmis au frontend via l'en-tête de réponse X-Request-Id.

#Log système

system_YYYY-MM-DD.log, logs de fonctionnement du système (application, middleware, plugins, etc.). Les logs de niveau error sont imprimés séparément dans system_error_YYYY-MM-DD.log.

ChampDescription
levelNiveau de log
timestampHeure d'enregistrement du log AAAA-MM-JJ hh:mm:ss
messageMessage du log
moduleModule
submoduleSous-module
methodMéthode appelée
metaAutres informations pertinentes, format JSON
appNom de l'application actuelle
reqIdID de la requête

#Log d'exécution SQL

sql_YYYY-MM-DD.log, logs d'exécution SQL de la base de données. Les instructions INSERT INTO sont limitées aux 2000 premiers caractères.

ChampDescription
levelNiveau de log
timestampHeure d'enregistrement du log AAAA-MM-JJ hh:mm:ss
sqlInstruction SQL
appNom de l'application actuelle
reqIdID de la requête

#Archivage et téléchargement des logs

  1. Accédez à la page de gestion des logs.
  2. Sélectionnez les fichiers de logs que vous souhaitez télécharger.
  3. Cliquez sur le bouton Télécharger (Download).

2024-04-10_10-50-50

#Documentation connexe

  • Développement de plugin - Serveur - Logs
  • Référence API - @nocobase/logger