diff --git a/gadget-code/src/lib/log-transport-file.ts b/gadget-code/src/lib/log-transport-file.ts index 1022687..3516fd0 100644 --- a/gadget-code/src/lib/log-transport-file.ts +++ b/gadget-code/src/lib/log-transport-file.ts @@ -2,8 +2,11 @@ // Copyright (C) 2026 Robert Colbert // All Rights Reserved +import util from "node:util"; import { Writable } from "node:stream"; +import dayjs from "dayjs"; + import { DtpLogLevel } from "./log.js"; import { DtpLogTransport } from "./log-transport.js"; import { DtpComponent } from "./component.ts"; @@ -20,17 +23,17 @@ export class DtpLogTransportFile implements DtpLogTransport { component: DtpComponent, level: DtpLogLevel, message: string, - metadata?: unknown + metadata?: unknown, ): Promise { return new Promise((resolve, reject) => { - const logMessage = JSON.stringify({ - timestamp, - component, - level, - message, - metadata, - }); - const chunk = Buffer.from(logMessage + "\r\n"); + const stimestamp = dayjs(timestamp).format("YYYY-MM-DD HH:mm:ss.SSS"); + + let sLogMessage = `${stimestamp} ${level} ${component.slug} ${message}`; + if (metadata) { + sLogMessage += " " + util.inspect(metadata, false, Infinity, false); + } + + const chunk = Buffer.from(sLogMessage + "\n"); this.file.write(chunk, (error: Error | null | undefined): void => { if (error) { return reject(error); diff --git a/gadget-drone/src/lib/log-transport-file.ts b/gadget-drone/src/lib/log-transport-file.ts index 10576d9..ae43564 100644 --- a/gadget-drone/src/lib/log-transport-file.ts +++ b/gadget-drone/src/lib/log-transport-file.ts @@ -11,14 +11,6 @@ import { GadgetLogLevel } from "./log.js"; import { GadgetLogTransport } from "./log-transport.js"; import { GadgetComponent } from "./component.ts"; -interface LogFilePayload { - timestamp: Date; - component: string; - level: GadgetLogLevel; - message: string; - metadata?: unknown; -} - export class GadgetLogTransportFile implements GadgetLogTransport { file: Writable;