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'}));
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
}
où :
logLevel
est le niveau de journalisation souhaité.logFilePath
est l’emplacement du fichier journal ouSTDOUT
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’unlogFilePath
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"
}
}
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épertoirenodejs
dans lelog_path
spécifié. Par exemple, si vous définissezlog_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' });
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
.