2013-05-07 5 views
7

Wenn winston nicht abgefangene Exceptions verarbeitet, wird eine nette Information über die nicht abgefangene Exception ausgegeben. Wie kann ich dasselbe bei "catched Exceptions" machen?Wie protokolliert man "catched" Ausnahmen?

if (err) { 
// winston. log the catched exception 
} 

überprüfte ich die Quelle und es scheint eine logException method zu sein, aber ich weiß nicht, wie ich es verwenden könnte.

var logger = new winston.Logger({ 
    transports: [new winston.transports.Console({handleExceptions: true})] 
}) 
var err = new Error('test error.') 
logger.logException(err.message) //no method 'logException' 

Antwort

0

logException ist ein Verfahren zur Transport, nicht der Logger Klasse. Was Sie brauchen, ist ein error Methode:

var winston = require('winston'); 
var logger = new winston.Logger({ 
    transports: [new winston.transports.Console({handleExceptions: true})] 
}) 
var err = new Error('test error.'); 
logger.error(err.message); 

https://github.com/flatiron/winston#using-logging-levels

1

Sie catched Ausnahme zurück zum Prozess emittieren können, werden Fehler durch winston.Logger catched durch. Beispiel:

process.emit('uncaughtException', err); 
1
var winston = require('winston'); 
var err = new Error('test error.'); 
winston.error(winston.exception.getAllInfo(err)); 
+0

Vielleicht ist das von einer alten Version von winston, aber es gibt keine solche API. https://github.com/winstonjs/winston – Seth