From 6212c1535241057091749e8bdfc5f28b2d2fda42 Mon Sep 17 00:00:00 2001 From: Ruben Taelman Date: Tue, 22 Sep 2020 11:31:43 +0200 Subject: [PATCH] change: log messages in ExpressHttpServer --- src/server/ExpressHttpServer.ts | 6 +++++- test/unit/server/ExpressHttpServer.test.ts | 3 +++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/src/server/ExpressHttpServer.ts b/src/server/ExpressHttpServer.ts index d5c1ca3e1..4f3cac23d 100644 --- a/src/server/ExpressHttpServer.ts +++ b/src/server/ExpressHttpServer.ts @@ -2,9 +2,12 @@ import type { Server } from 'http'; import cors from 'cors'; import type { Express } from 'express'; import express from 'express'; +import { getLoggerFor } from '../logging/LogUtil'; import type { HttpHandler } from './HttpHandler'; export class ExpressHttpServer { + protected readonly logger = getLoggerFor(this); + private readonly handler: HttpHandler; public constructor(handler: HttpHandler) { @@ -35,10 +38,11 @@ export class ExpressHttpServer { // Delegate to the main handler app.use(async(request, response, done): Promise => { try { + this.logger.log('info', `Received request for ${request.url}`); await this.handler.handleSafe({ request, response }); } catch (error: unknown) { const errMsg = error instanceof Error ? `${error.name}: ${error.message}\n${error.stack}` : 'Unknown error.'; - process.stderr.write(errMsg); + this.logger.log('error', errMsg); response.status(500).contentType('text/plain').send(errMsg); } finally { done(); diff --git a/test/unit/server/ExpressHttpServer.test.ts b/test/unit/server/ExpressHttpServer.test.ts index a301d06ee..019406ba7 100644 --- a/test/unit/server/ExpressHttpServer.test.ts +++ b/test/unit/server/ExpressHttpServer.test.ts @@ -1,5 +1,7 @@ import type { Server } from 'http'; import request from 'supertest'; +import { LazyLoggerFactory } from '../../../src/logging/LazyLoggerFactory'; +import { VoidLoggerFactory } from '../../../src/logging/VoidLoggerFactory'; import { ExpressHttpServer } from '../../../src/server/ExpressHttpServer'; import { HttpHandler } from '../../../src/server/HttpHandler'; import type { HttpRequest } from '../../../src/server/HttpRequest'; @@ -31,6 +33,7 @@ describe('ExpressHttpServer', (): void => { beforeAll(async(): Promise => { // Prevent test from writing to stderr mock = jest.spyOn(process.stderr, 'write').mockImplementation((): boolean => true); + LazyLoggerFactory.getInstance().setLoggerFactory(new VoidLoggerFactory()); }); beforeEach(async(): Promise => {