swaf/src/Logger.ts

19 lines
522 B
TypeScript
Raw Normal View History

import {Logger as TsLogger} from "tslog";
import {AsyncLocalStorage} from "async_hooks";
import {RequestHandler} from "express";
import {nanoid} from "nanoid";
2020-04-22 15:52:17 +02:00
const requestIdStorage: AsyncLocalStorage<string> = new AsyncLocalStorage();
2020-04-22 15:52:17 +02:00
export const logger = new TsLogger({
requestId: (): string => {
return requestIdStorage.getStore() as string;
},
});
export const loggingContextMiddleware: RequestHandler = (req, res, next) => {
requestIdStorage.run(nanoid(8), () => {
next();
});
};