2017-08-03 4 views
1

J'ai un projet nodejs et utiliser log4js pour écrire le journal. Je veux créer un nouveau journal de fichier quand commencer une nouvelle date.
Exemple:
daily.2017_07_31.log
daily.2017_08_01.log
daily.2017_08_02.log
daily.2017_08_03.log

En java, je sais log4j config mais nodejs avec log4js Je ne sais pas. Merci à tous pour votre aide :)Log4js javascript créer journal fichier journal

Répondre

1

winston est recommandé pour nodejs. C'est assez facile à utiliser.

Créez un fichier logger.js et cette configuration '

require('winston-daily-rotate-file'); 

var winston = require('winston'); 

winston.loggers.add('logger', { 
    transports: [ 
new (winston.transports.Console)(
      { 
       level: config.debugLogLevel, 
       colorize: true 
      }), 

     //new files will be generated each day, the date patter indicates the frequency of creating a file. 
     new winston.transports.DailyRotateFile({ 
       name: 'debug-log', 
       filename: '<log file name>', 
       level: '<level>', 
       prepend: true, 
       datePattern: '<pattern>', 
       maxFiles: <max file> 
      } 
     ), 
     new (winston.transports.DailyRotateFile)({ 
      name: 'error-log', 
      filename: '<log file name>', 
       level: '<level>', 
       prepend: true, 
       datePattern: '<pattern>', 
       maxFiles: <max file> 
     }) 
    ] 
}); 

var logger = winston.loggers.get('logger'); 
Object.defineProperty(exports, "LOG", {value: logger}); 

maintenant, vous pouvez l'utiliser partout comme

var log = require('../../server/config/logger.js').LOG 
log.error('hello'); 
+0

et une partie la plus intéressante est, vous pouvez également configurer la messagerie comme le transport. Tout le journal peut vous être envoyé avec juste une configuration. –

+0

Le premier. Merci de votre aide. J'ai eu l'utilisation de rechercher le mot-clé winston log et avoir une réponse. Mais j'ai un problème avec la dépendance :). Dans le fichier package.json j'ajoute la ligne "winston-daily-rotate-file": "~ 1.4.6" mais quand je l'exécute, j'ai une erreur Erreur: Impossible de trouver le module 'winston' phuchoangmai

+0

Merci @Manish Kumanwat. Je le corrige avec la dépendance winston :) – phuchoangmai