console/packages/web/app/src/server-logger.ts
2023-08-03 11:58:21 +00:00

24 lines
509 B
TypeScript

import pino from 'pino';
import type { Logger } from 'pino';
declare global {
// eslint-disable-next-line no-var
var logger: Logger;
}
export function getLogger(req?: any) {
if (req && isLoggerEnhancedReq(req)) {
return req.log;
}
// eslint-disable-next-line logical-assignment-operators
if (!globalThis.logger) {
globalThis.logger = pino();
}
return globalThis.logger;
}
function isLoggerEnhancedReq(req: any): req is { log: Logger } {
return typeof req.log !== 'undefined';
}