UNPKG

@dugongjs/nestjs

Version:

36 lines (35 loc) 1.23 kB
import { Logger } from "@nestjs/common"; /** * Adapts the NestJS Logger to the ILogger interface used by the core package. * The first argument is treated as structured context and rendered as a single-line message. */ export class NestJSLoggerAdapter { constructor(context) { this.logger = new Logger(context); } log(context, ...args) { this.logMessage("log", context, args); } error(context, ...args) { this.logMessage("error", context, args); } warn(context, ...args) { this.logMessage("warn", context, args); } verbose(context, ...args) { this.logMessage("debug", context, args); } logMessage(level, context, args) { // If context is a plain object, format it as single-line JSON if (context && typeof context === "object" && !Array.isArray(context)) { const contextStr = JSON.stringify(context); const message = args.length > 0 ? `${contextStr} ${args.join(" ")}` : contextStr; this.logger[level](message); } else { // Otherwise just log as-is const message = [context, ...args].join(" "); this.logger[level](message); } } }