L'utilitaire de journalisation utilisé par npm.
Cet enregistreur est très basique. Il effectue la journalisation pour npm. Il prend en charge les niveaux personnalisés et la sortie colorée.
Par défaut, les journaux sont écrits sur stderr. Si vous souhaitez envoyer des messages de journal à des sorties autres que des flux, vous pouvez modifier le membre log.stream
ou simplement écouter les événements qu'il émet et en faire ce que vous voulez.
npm install npmlog --save
var log = require ( 'npmlog' )
// additional stuff ---------------------------+
// message ----------+ |
// prefix ----+ | |
// level -+ | | |
// v v v v
log . info ( 'fyi' , 'I have a kitty cat: %j' , myKittyCat )
Le niveau auquel afficher les journaux. Tous les journaux égaux ou supérieurs à ce niveau seront affichés. Le niveau spécial silent
empêchera que quoi que ce soit soit affiché.
Un tableau de tous les messages de journal qui ont été saisis.
Le nombre maximum d'enregistrements à conserver. Si log.record dépasse de 10 % cette valeur, il est réduit à 90 % de cette valeur.
La raison de la fenêtre de 10 % est qu'il n'est pas nécessaire de redimensionner un grand tableau à chaque entrée de journal.
Objet de style qui spécifie le style des préfixes. (Voir ci-dessous)
Objet de style qui spécifie le style du titre. (Voir ci-dessous)
Si défini, un en-tête imprimé au début de chaque ligne.
process.stderr
Le flux dans lequel la sortie est écrite.
Forcer l'utilisation des couleurs sur tous les messages, quel que soit le flux de sortie.
Désactivez les couleurs sur tous les messages.
Activer l'affichage de la fileuse d'activité du journal et de la barre de progression
Désactiver l'affichage d'une barre de progression
Forcez l'utilisation du thème Unicode pour la barre de progression.
Désactivez l'utilisation d'Unicode dans la barre de progression.
Définissez un modèle pour afficher la barre de progression. Consultez la documentation de la jauge pour plus de détails.
Sélectionnez un ensemble de thèmes parmi lequel choisir des thèmes pour la barre de progression. Consultez la documentation de la jauge pour plus de détails.
Arrêtez d'émettre des messages dans le flux, mais ne les supprimez pas.
Émet tous les messages mis en mémoire tampon qui ont été écrits pendant une pause.
level
{String} Le niveau auquel émettre le messageprefix
{String} Un préfixe de chaîne. Réglez sur "" pour ignorer.message...
Arguments à util.format
Émet un message de journal au niveau spécifié.
Par exemple,
Comme log.log(level, prefix, message, ...)
. De cette façon, chaque niveau reçoit un raccourci, vous pouvez donc faire log.info(prefix, message)
.
level
{String} Indicateur de niveaun
{Number} Le niveau numériquestyle
{Object} Objet avec fg, bg, inverse, etc.disp
{String} Remplacement facultatif du level
dans la sortie.Définit un nouveau niveau avec une fonction raccourcie, etc.
Notez que si le nombre est Infinity
, le fait de définir le niveau sur celui-ci entraînera la suppression de tous les messages du journal. Si le nombre est -Infinity
, la seule façon de l'afficher est d'activer tous les messages du journal.
name
{Chaîne} Facultatif ; nom de l’élément de progression.todo
{Numéro} Facultatif ; quantité totale de travail à réaliser. Par défaut 0.weight
{Nombre} Facultatif ; le poids de cet article par rapport aux autres. Par défaut 1. Cela ajoute un nouveau outil de suivi des éléments are-we-there-yet
au suivi de la progression. L'objet renvoyé a les méthodes log[level]
mais est par ailleurs un objet Tracker
are-we-there-yet
.
Cela ajoute un nouveau tracker de flux are-we-there-yet
au tracker de progression. L'objet renvoyé a les méthodes log[level]
mais est par ailleurs un objet TrackerStream
are-we-there-yet
.
Cela ajoute un nouveau groupe de suivi are-we-there-yet
au suivi de progression. L'objet renvoyé a les méthodes log[level]
mais est par ailleurs un objet TrackerGroup
are-we-there-yet
.
Les événements sont tous émis avec l'objet message.
log
Émis pour tous les messageslog.
Émis pour tous les messages avec le niveau
.
Les messages avec préfixes émettent également leur préfixe en tant qu'événement.Les objets de style peuvent avoir les champs suivants :
fg
{String} Couleur du texte de premier planbg
{String} Couleur de l'arrière-planbold
, inverse
, underline
{Boolean} Définir la propriété associéebell
{Boolean} Faire du bruit (C'est probablement assez ennuyeux.) Chaque événement de journal est émis avec un objet message et la liste log.record
contient tous ceux qui ont été créés. Ils comportent les champs suivants :
id
{Numéro}level
{Chaîne}prefix
{Chaîne}message
{String} Résultat de util.format()
messageRaw
{Array} Arguments à util.format()
Nous utilisons set-blocking
pour définir le blocage de stderr et stdout s'ils sont des tty et qu'ils ont l'appel setBlocking. Il s'agit d'une solution de contournement pour un problème dans les premières versions de Node.js 6.x, qui rendait stderr et stdout non bloquants sur OSX. (Ils bloquent toujours Windows et ne bloquent jamais sous Linux.) npmlog
a besoin qu'ils soient bloqués pour pouvoir permettre l'entrelacement des sorties vers stdout et stderr.