O utilitário logger que o npm usa.
Este registrador é muito básico. Ele faz o registro para npm. Suporta níveis personalizados e saída colorida.
Por padrão, os logs são gravados em stderr. Se quiser enviar mensagens de log para saídas diferentes de streams, você pode alterar o membro log.stream
ou apenas ouvir os eventos que ele emite e fazer o que quiser com eles.
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 )
O nível no qual exibir os logs. Quaisquer registros nesse nível ou acima dele serão exibidos. O nível especial silent
impedirá que qualquer coisa seja exibida.
Uma matriz de todas as mensagens de log que foram inseridas.
O número máximo de registros a serem mantidos. Se log.record ficar maior que 10% acima desse valor, ele será reduzido para 90% desse valor.
A razão para a janela de 10% é que não é necessário redimensionar uma grande matriz em cada entrada de log.
Um objeto de estilo que especifica como os prefixos são estilizados. (Veja abaixo)
Um objeto de estilo que especifica como o título é estilizado. (Veja abaixo)
Se definido, um cabeçalho será impresso no início de cada linha.
process.stderr
O fluxo onde a saída é gravada.
Força o uso de cores em todas as mensagens, independentemente do fluxo de saída.
Desative as cores em todas as mensagens.
Habilite a exibição do controle giratório de atividades de registro e da barra de progresso
Desative a exibição de uma barra de progresso
Força o tema unicode a ser usado na barra de progresso.
Desative o uso de Unicode na barra de progresso.
Defina um modelo para gerar a barra de progresso. Consulte a documentação do medidor para obter detalhes.
Selecione um conjunto de temas para escolher temas para a barra de progresso. Consulte a documentação do medidor para obter detalhes.
Pare de enviar mensagens para o stream, mas não as descarte.
Emita todas as mensagens em buffer que foram escritas durante a pausa.
level
{String} O nível para emitir a mensagem emprefix
{String} Um prefixo de string. Defina como "" para pular.message...
Argumentos para util.format
Emita uma mensagem de log no nível especificado.
Por exemplo,
Como log.log(level, prefix, message, ...)
. Dessa forma, cada nível recebe uma abreviação, para que você possa fazer log.info(prefix, message)
.
level
{String} Indicador de níveln
{Número} O nível numéricostyle
{Object} Objeto com fg, bg, inverso, etc.disp
{String} Substituição opcional para level
na saída.Configura um novo nível com uma função abreviada e assim por diante.
Observe que se o número for Infinity
, definir o nível para esse fará com que todas as mensagens de log sejam suprimidas. Se o número for -Infinity
, a única maneira de mostrá-lo é habilitar todas as mensagens de log.
name
{String} Opcional; nome do item de progresso.todo
{Número} Opcional; quantidade total de trabalho a ser feito. Padrão 0.weight
{Número} Opcional; o peso deste item em relação aos outros. Padrão 1. Isso adiciona um novo rastreador de itens are-we-there-yet
ao rastreador de progresso. O objeto retornado possui os métodos log[level]
mas, caso contrário, é um objeto Tracker
are-we-there-yet
.
Isso adiciona um novo rastreador de fluxo are-we-there-yet
ao rastreador de progresso. O objeto retornado possui os métodos log[level]
mas, caso contrário, é um objeto TrackerStream
are-we-there-yet
.
Isso adiciona um novo grupo de rastreadores are-we-there-yet
ao rastreador de progresso. O objeto retornado possui os métodos log[level]
mas, caso contrário, é um objeto TrackerGroup
are-we-there-yet
.
Todos os eventos são emitidos com o objeto de mensagem.
log
Emitido para todas as mensagenslog.
Emitido para todas as mensagens com o nível
.
Mensagens com prefixos também emitem seu prefixo como um evento.Os objetos de estilo podem ter os seguintes campos:
fg
{String} Cor do texto em primeiro planobg
{String} Cor do fundobold
, inverse
, underline
{Boolean} Defina a propriedade associadabell
{Boolean} Faça um barulho (isso é muito chato, provavelmente.) Cada evento de log é emitido com um objeto de mensagem, e a lista log.record
contém todos eles que foram criados. Eles possuem os seguintes campos:
id
{Número}level
{String}prefix
{string}message
{String} Resultado de util.format()
messageRaw
{Array} Argumentos para util.format()
Usamos set-blocking
para definir o bloqueio stderr e stdout se eles forem tty e tiverem a chamada setBlocking. Esta é uma solução alternativa para um problema nas versões anteriores do Node.js 6.x, que tornava stderr e stdout não bloqueadores no OSX. (Eles estão sempre bloqueando o Windows e nunca bloquearam no Linux.) npmlog
precisa que eles estejam bloqueando para que possa permitir que a saída para stdout e stderr seja entrelaçada.