2016-10-18 3 views
0
import express from 'express'; 
import route from './server/routes/route'; 
import cookieParser from 'cookie-parser'; 
import bodyParser from 'body-parser'; 
import favicon from 'serve-favicon'; 
import path from 'path'; 
import Logger from './server/logger/logger.js'; 

try { 
    const app = express(); 
    app.use(bodyParser.json()); 
    app.use(bodyParser.urlencoded({extended: false})); 
    app.use(cookieParser()); 
    app.use(favicon(path.join(__dirname, '/client/assets/favicon.ico'))); 
    app.use(express.static(path.join(__dirname, 'client'))); 
    app.use(route); 
    app.listen(3000); 
    new Logger().logInfo('Server started at port 3000'); 
} catch (e) { 
    new Logger().logError(e); 
    process.exit(1); 
} 

process.on('uncaughtException', function (err) { 
    process.exit(1); 
    new Logger().logError(err); 
}); 

Hier versuche ich einen Express-Server zu erstellen. Ich habe einen Versuch Catch Block. Wenn ich die import path from 'path' entferne, wird ein Fehler generiert und der Catch aufgerufen. Allerdings funktioniert das Problem new Logger().logError(e); nicht funktioniert. Es soll Fehler in einer bestimmten Datei protokollieren. Aber nichts passiert. Aber wenn es keinen Fehler gibt, dann funktioniert die logInfo() in Ordnung. Ich habe versucht, auf der Konsole zu loggen und es funktioniert. Ich benutze Babel, also ist es ein Problem damit? Logger ist eine Klasse, die eine Winston-Logger-Implementierung enthält und die Methoden logError und logInfo verfügbar macht.Neues Objekt() im Catch-Block erstellen js

+0

* "Das Problem ist jedoch" neue Logger(). LogError (e); 'funktioniert nicht." * Können Sie das näher ausführen? –

+0

Frage bearbeitet –

+1

Es könnte sein, dass '.logError()' ist nicht vollständig synchron und 'process.exit (1)' unterbricht es, bevor es fertig ist – jfriend00

Antwort

0

Es ist ein known bug in winston und es scheint, dass sie es nicht patchen werden. Ich habe eine der dort vorgesehenen Workarounds benutzt und alles funktioniert gut. Hier

Verwandte Themen