Správné protokolování je pro webové aplikace velmi užitečné, a to jak během vývoje, tak po nasazení. Někdy může být obtížné organizovat kód i výstup protokolování, tj. vědět, odkud každá zpráva protokolu pochází. Nedávno jsem našel debug
, nástroj Node.js pro organizované a optimalizované ladění.
Vytvoření instance debug
je jednoduchý a můžete vytvořit více loggerů na soubor:
// Create multiple instances of debug // In theory these would serve two different purposes var debuggerA = require('debug')('worker:a'), debuggerB = require('debug')('worker:b'); // Sample usages of the debugger function work() { debuggerA('doing lots of uninteresting work'); setTimeout(work, Math.random() * 1000); } work(); function workb() { debuggerB('doing some work'); setTimeout(workb, Math.random() * 2000); } workb();
Jmenný prostor daný debug
instanci, protože musíte použít proměnnou prostředí k signalizaci, které loggery by měly přejít na STDOUT, když je skript spuštěn:
// Show all debugger messages prefixed "worker:_____" DEBUG=worker:* node app.js
Strategie proměnných prostředí pro signalizaci, které instance by měly vystupovat, je geniální, protože možná budete chtít, aby se v produkčním vs. vývoji zaznamenávaly pouze určité typy zpráv. Používejte jmenné prostory moudře!
Byl jsem také schopen použít chalk
vybarvit zprávy podle potřeby:
var chalk = require('chalk'); debuggerA(chalk.red.bold('OMG an awful error!'));
debug
je jednou z těch utilit, která má velmi jednoduchý účel a dobře plní úkol. Nešetřete, pokud jde o protokolování informativních zpráv – pomohou vám během vývoje a mohou být kritické při auditování aplikace po bezpečnostním incidentu!