¿Hay alguna biblioteca que me ayude a manejar el inicio de sesión en mi aplicación Node.Js? Todo lo que quiero hacer es escribir todos los registros en un archivo y también necesito opciones como desplegar el archivo después de cierto tamaño o fecha.
He incorporado log4js para intentar mantener todos los detalles de configuración en un archivo y usar solo los métodos en otros archivos de aplicación para facilitar el mantenimiento. Pero no funciona como se esperaba. Esto es lo que estoy tratando de hacer.
var log4js = require('log4js');
log4js.clearAppenders()
log4js.loadAppender('file');
log4js.addAppender(log4js.appenders.file('test.log'), 'test');
var logger = log4js.getLogger('test');
logger.setLevel('ERROR');
var traceLogger = function (message) {
logger.trace('message');
};
var errorLogger = function (message) {
logger.trace(message);
};
exports.trace = traceLogger;
exports.error = errorLogger;
He incluido este archivo en otros archivos e intenté
log.error ("Hello Error Message");
Pero no está funcionando. ¿Hay algo malo en esto?
Respuestas:
Winston es una muy buena biblioteca de registro. Puede escribir registros en un archivo usándolo.
El código se vería así:
Luego puede usar esto como:
fuente
Scribe.JS Lightweight Logger
Revisé muchos registradores y no pude encontrar una solución liviana, así que decidí crear una solución simple que se publicara en github.
Espero que esto te ayude.
Demo en línea
http://bluejamesbond.github.io/Scribe.js/
Acceso web seguro a los registros
Imprime bonito texto a la consola también!
Acceso web
Github
https://github.com/bluejamesbond/Scribe.js
fuente
Log4js es una de las bibliotecas de registro más populares para la aplicación nodejs.
Es compatible con muchas características interesantes:
Ejemplo:
Instalación:
npm install log4js
Configuración (
./config/log4js.json
):Uso:
fuente
También puede usar npmlog de issacs, recomendado en https://npmjs.org/doc/coding-style.html .
Puede encontrar este módulo aquí https://github.com/isaacs/npmlog
fuente
El "logger.setLevel ('ERROR');" está causando el problema No entiendo por qué, pero cuando lo configuro en algo que no sea "TODO", no se imprime nada en el archivo. Busqué un poco y modifiqué tu código. Está funcionando bien para mí. Creé dos archivos.
logger.js
logger.test.js
Cuando ejecuto "node logger.test.js", solo veo "mensaje de ERROR" en el archivo test.log. Si cambio el nivel a "TRACE", ambas líneas se imprimen en test.log.
fuente
Winston es una buena opción para la mayoría de los desarrolladores. He estado usando winston por mucho tiempo. Recientemente utilicé winston con papertrail que lleva el registro de la aplicación al siguiente nivel.
Aquí hay una buena captura de pantalla de su sitio.
Cómo es útil
Puede administrar registros de diferentes sistemas en un solo lugar. Esto puede ser muy útil cuando tiene dos backend en comunicación y puede ver los registros de ambos en el lugar.
Los registros son en vivo. Puede ver registros en tiempo real de su servidor de producción.
Potente búsqueda y filtro
puede crear alertas para enviarle un correo electrónico si encuentra texto específico en el registro.
y puedes encontrar más http://help.papertrailapp.com/kb/how-it-works/event-viewer/
Una configuración simple usando
winston
,winston-express
ywinston-papertrail
módulos de nodo.¡Espero que esto ayude a alguien a administrar sus registros!
fuente
Se puede usar un módulo 'nodejslogger' para un registro simple. Tiene tres niveles de registro (INFORMACIÓN, ERROR, DEPURACIÓN)
D: depuración, I: información, E: error
Se puede acceder al módulo en: https://www.npmjs.com/package/nodejslogger
fuente
Observe que errorLogger es un contenedor alrededor de logger.trace . Pero el nivel del registrador es ERROR, por lo que logger.trace no registrará su mensaje en los apéndices del registrador .
La solución es cambiar logger.trace a logger.error en el cuerpo de errorLogger .
fuente