2017-01-03 2 views
2

Ist es möglich, nur die Zugriffszeilen von Express in eine Protokolldatei zu schreiben und die anderen Protokolle in der Konsole zu behalten? Etwas wie folgt aus:Express-Winston: Express-Zugriffsprotokolle in Datei schreiben

app.use(expressWinston.logger({ 
    transports: [ 
     new winston.transports.Console({ 
      colorize: true 
     }), 
     new winston.transports.File({ 
      name: 'access-file', 
      filename: 'access-error.log', 
      level: 'info' //This setting is what i need to change for access lines only 
     }) 
    ], 
    ignoreRoute: function(req) { 
     return (req.url === '/healthcheck'); 
    }, 
    meta: false, 
    msg: "HTTP {{req.method}} {{req.url}}", 
    colorStatus: true 
})); 

Das Problem ist, dass ich weiß nicht, wie nur die Zugriffsprotokollzeilen zu isolieren. Ist das möglich?

Antwort

0

Sicher, konfigurieren Sie einfach eine benutzerdefinierte Protokollierungsebene von "Zugriff" und zeigen Sie es dann auf die Datei, wie Sie möchten.

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

+0

Ich glaube, ich verstehe nicht, wie dies das Problem lösen würde ich habe, als Expressgut Protokolle durch ausdrückliche getan werden, und ich kann sie nicht kontrollieren. Daher konnte ich ihr Protokolllevel nicht einstellen –