mirror of
https://github.com/graphql-hive/console
synced 2026-05-24 09:38:26 +00:00
24 lines
509 B
TypeScript
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';
|
|
}
|