2016-05-07 9 views
0

Ich bin versucht zu installieren winston-loggly Leistungsprotokollierung in meiner App zusätzlich zu behandeln, um bereits Umgang mit normalen Fehlern/Ereignisse etc. Meine Logger Setup:Gruppierung Winston Loggly Ausgabe mit Tags?

var winston = require('winston'); 
require('winston-loggly'); 

winston.setLevels({ error: 0, warn: 1, info: 2, verbose: 3, debug: 4, silly: 5 }); 

winston.addColors({ 
    silly: 'magenta', 
    verbose: 'cyan', 
    debug: 'blue', 
    info: 'green', 
    warn: 'yellow', 
    error: 'red' 
}); 

winston.remove(winston.transports.Console); 
winston.add(winston.transports.Console, { 
    level: 'silly', 
    prettyPrint: true, 
    colorize: true, 
    silent: false, 
    timestamp: true 
}); 



winston.add(winston.transports.Loggly, { 
     token: "MY-TOKEN", 
     subdomain: "MY-SUBDOMAIN", 
     tags: ["Winston-NodeJS"], 
     json:true 
    }); 


module.exports.info = function(message, arg){ 
    winston.log('info',message, arg); 
}; 

module.exports.error = function(message, arg){ 
    winston.log('error', message, arg); 
}; 

module.exports.warn = function(message, arg){ 
    winston.log('warn', message, arg); 
}; 

module.exports.debug = function(message, arg){ 
    winston.log('debug', message, arg); 
}; 

module.exports.winston = winston; 

Und dann Leistung jeder Strecke zu erfassen, I habe Morgan benutzen, das ich Rohr konnte loggly in meinem Haupt app.js:

var theHTTPLog = morgan("dev", { 
    "stream": { 
    write: function(str) { 
     logger.info(str, null); 
    } 
    } 
}); 


app.use(theHTTPLog); 

dieser morgan Ausgang die gleichen wie normaler App Ausgang jedoch läßt zu verschmutzen. Ich würde gerne alle Morgan-Ausgaben mit "Performance" versehen, wenn sie an Loggly gesendet werden, damit ich sie trennen kann und hoffentlich eine Möglichkeit finde, sie zu aggregieren, um Statistiken darüber zu erhalten, wie meine Routen funktionieren. Wie kann ich ein Tag zum Log-Zeitpunkt zuweisen?

Antwort

0

Eine bessere Lösung als Tags ist es, eine benutzerdefinierte Protokollstufe für bestimmte Nachrichtentypen zu erstellen und sie auf der neuen Ebene zu protokollieren.