Configuration des niveaux de journalisation et des fichiers

Le pilote Node.js prend en charge deux types de journaliseurs pour suivre l’activité :

  • Journaliseur de données du navigateur, qui stocke les données dans une mémoire tampon au sein du navigateur.

  • Journaliseur de nœuds qui, par défaut, stocke les journaux dans un fichier snowflake.log et les affiche dans la console.

Vous pouvez utiliser le code suivant pour passer de l’enregistreur du navigateur au journaliseur du nœud. Cet exemple passe au journaliseur de nœuds et envoie des messages à la console.

Logger.setInstance(new NodeLogger({ logFilePath: 'STDOUT'}));
Copy

Niveaux de journalisation pris en charge

Le pilote Node.js prend en charge les niveaux de journalisation suivants :

  • OFF

  • ERROR

  • WARNING

  • INFO

  • DEBUG

  • TRACE

Configurer le comportement de journalisation par défaut

Vous pouvez configurer la journalisation standard en appelant snowflake.configure, comme suit :

const snowflake = require('snowflake-sdk');

snowflake.configure: {
  logLevel: "INFO",
  logFilePath: "/some/path/log_file.log"
  additionalLogToConsole: false
}
Copy

où :

  • logLevel est le niveau de journalisation souhaité.

  • logFilePath est l’emplacement du fichier journal ou STDOUT pour la sortie de la console.

  • additionalLogToConsole est une valeur booléenne qui indique s’il faut envoyer les messages de journalisation également à la console lorsqu’un logFilePath est spécifié. Par défaut : true.

Utiliser la journalisation facile lors du débogage de votre code

Lors du débogage d’une application, l’augmentation du niveau de journalisation peut fournir des informations plus granulaires sur ce que fait l’application. La fonction de journalisation facile simplifie le débogage en vous permettant de modifier le niveau de journalisation et la destination du fichier journal à l’aide d’un fichier de configuration (par défaut : sf_client_config.json).

En règle générale, vous ne modifiez les niveaux de journalisation que lorsque vous déboguez votre application.

Ce fichier de configuration utilise JSON pour définir les paramètres de journalisation log_level et log_path, comme suit :

{
  "common": {
    "log_level": "INFO",
    "log_path": "/some-path/some-directory"
  }
}
Copy

où :

  • log_level est le niveau de journalisation <label-nodejs_easy_logging-levels> souhaité.

  • log_path est l’emplacement où sont stockés les fichiers journaux. Le pilote crée automatiquement un sous-répertoire nodejs dans le log_path spécifié. Par exemple, si vous définissez log_path sur /Users/me/logs, les pilotes créent le répertoire /Users/me/logs/nodejs et y stockent les journaux.

Le pilote recherche l’emplacement du fichier de configuration dans l’ordre suivant :

  • Paramètre de connexion clientConfigFile, contenant le chemin complet du fichier de configuration, comme le suivant :

    const snowflake = require('snowflake-sdk');
    
    var connection = snowflake.createConnection({
      account: account,
      username: user,
      password: password,
      application: application,
      clientConfigFile: '/some/path/client_config.json'
    });
    
    Copy
  • Variable d’environnement SF_CLIENT_CONFIG_FILE qui contient le chemin complet vers le fichier de configuration (par ex. export SF_CLIENT_CONFIG_FILE=/some_path/some-directory/client_config.json).

  • Répertoire d’installation du pilote Node.js, où le fichier doit être nommé sf_client_config.json.

  • Répertoire personnel de l’utilisateur, où le fichier doit être nommé sf_client_config.json.

Note

Pour accroître la sécurité, le pilote exige désormais que le fichier de configuration de la journalisation sur les systèmes de type Unix limite les autorisations de fichiers afin que seul le propriétaire du fichier puisse modifier les fichiers (par exemple chmod 0600 ou chmod 0644).

Pour réduire le nombre de recherches d’un fichier de configuration, le pilote ne lit que le fichier de configuration :

  • pour la première connexion.

  • pour la première connexion en utilisant le paramètre clientConfigFile.