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);
});
ここで私はエクスプレスサーバーを作成しようとしています。私はtry catchブロックを使用しました。 import path from 'path'
を削除すると、エラーが生成され、キャッチが呼び出されます。しかし、問題はnew Logger().logError(e);
が機能していないことです。特定のファイルにエラーを記録することになっています。しかし何も起こっていない。しかし、エラーがなければ、logInfo()
は問題なく動作しています。私はコンソールにログを記録しようとしました。私はバベルを使用しているので、それは問題ですか? Loggerはwinstonロガーの実装を含むクラスで、メソッドlogErrorとlogInfoを公開します。キャッチブロックjs内の新しいオブジェクト()を作成するjs
*「ただし、問題は '新しいLogger().logError(e);' not working」です。*詳しく説明できますか? –
question編集されました –
'.logError()'は完全に同期的ではなく、 'process.exit(1)'は処理が完了する前に中断します。 – jfriend00