06.012012

debuggen für node.js printf-Style

Fehler suchen, Abläufe verstehen, Ereignisse verfolgen – in vielen Umgebungen ist neben einem echten Debugger die Ausgabe von Text in Dateien oder auf die Konsole ein wichtiges Werkzeug.

Für die node.js Entwicklung gibt es eine schöne, einfache Bibliothek, debug, die das Arbeiten auf diese Art extrem erleichtert, der Autor ist TJ Holowaychuck.

In eigenen node.js Komponenten bindet man debug mit einem -- besser eindeutigen – Namen ein

vardebug = require('debug')('meine_komponente')
  , comp1 = require('comp1');

// schtuff

debug('Init done')

// mehr schtuff

Ausgaben der Komponente werden dann mit einem automatisch eindeutig gefärbtem Präfix meine_komponente ausgegeben.

Die Ausgabe wird über die Umgebungsvariable DEBUG gesteuert:

http://www.joocom.de/blog/wp-content/uploads/wpid-konsole_node_debug.png

Modulintern wird die debug Funktion in Abhängigkeit von der DEBUG Umgebungsvariable an die leere Funktion oder eine Funktion, die die Ausgabe an console.error.apply durchreicht, gebunden.