Cet article présente principalement le guide pratique d'introduction aux log4js avancés dans Express. Maintenant, je le partage avec vous et le donne comme référence.
Pour les projets en ligne, la journalisation est une partie très importante. Log4js est un composant de journalisation fréquemment utilisé et est souvent utilisé avec Express. Cet article commence par un exemple d'introduction pour expliquer l'utilisation de log4js et comment l'intégrer à Express.
Exemple de démarrage
Le journal de sortie est le suivant, y compris l'heure d'impression du journal, le niveau du journal, la classification du journal et le contenu du journal.
// started.js var log4js = require('log4js'); var logger = log4js.getLogger(); logger.debug('hello world'); // 输出: // [2017-02-28 21:28:22.853] [DEBUG] [default] - hello world
Niveau de journal
logger.setLevel('INFO'); signifie que le journal de niveau le plus bas que vous souhaitez imprimer est INFO, c'est-à-dire appeler quelque chose comme les journaux ne seront pas imprimés pour les interfaces avec des niveaux inférieurs à INFO telles que logger.debug().
var log4js = require('log4js'); var logger = log4js.getLogger(); logger.setLevel('INFO'); logger.debug('level: debug'); logger.info('level: info'); logger.error('level: error'); // 输出如下: // [2017-02-28 21:50:45.372] [INFO] [default] - level: info // [2017-02-28 21:50:45.376] [ERROR] [default] - level: error
Catégorie de journaux
En plus des niveaux, les journaux peuvent également être classés, log4js.getLogger(category), comme indiqué ci-dessous
var log4js = require('log4js'); var alogger = log4js.getLogger('category-a'); var blogger = log4js.getLogger('category-b'); alogger.info('hello'); blogger.info('hello'); // 输出如下: // [2017-02-28 22:36:57.570] [INFO] category-a - hello // [2017-02-28 22:36:57.574] [INFO] category-b - hello
appenders
appenders spécifie l'emplacement de la sortie du journal Vous pouvez en configurer plusieurs en même temps et utiliser la catégorie pour les distinguer. Par exemple, log4js.getLogger('info') applique la configuration dont le type est dateFile.
On peut remarquer que la configuration avec le type console ne déclare pas de catégorie, par conséquent, tous les journaux seront imprimés sur la console.
var log4js = require('log4js'); log4js.configure({ appenders: [ { type: 'console'}, { type: 'dateFile', filename: './logs/info.log', category: 'info' } ] }); var logger = log4js.getLogger('info'); logger.setLevel('INFO'); logger.trace('trace'); logger.debug('debug'); logger.info('info'); // 输出如下: // [2017-02-28 22:51:30.723] [INFO] info - info
application express
Un exemple relativement simple est le suivant, tous les journaux sont imprimés sur la console.
var express = require('express'); var log4js = require('log4js'); var app = express(); log4js.configure({ appenders: [ { type: 'console', category: 'app' } ] }); var logger = log4js.getLogger('app'); logger.setLevel('INFO'); // 级别 > INFO 的日志才会被打印 app.use( log4js.connectLogger(logger) ); app.use(function(req, res, next){ res.send('ok'); }); app.listen(3000);
Accédez http://127.0.0.1:3000, le journal d'impression est le suivant
[2017-03-01 00:28:29.301] [INFO] app - : :ffff : 127.0.0.1 - - "GET / HTTP/1.1" 304 - "" "Mozilla/5.0 (Macintosh ; Intel Mac OS
Lors de l'utilisation de log4js.connectLogger(logger), vous pouvez déclarer le niveau de journalisation.// 级别 > INFO 的日志才会被打印 logger.setLevel('INFO'); // 日志的级别是 WARN app.use( log4js.connectLogger(logger, {level: 'WARN'}) );
logger.setLevel('INFO'); app.use( log4js.connectLogger(logger, {level: 'DEBUG'}) );
Comment résoudre le problème selon lequel Vue ne peut pas détecter les changements dans les tableaux ou les objets ?
Quelles sont les méthodes pour ajouter de nouvelles propriétés d'objets à la séquence de détection en vue ?
Comment générer des nombres aléatoires en JS (tutoriel détaillé)
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!