diff --git a/logger.ts b/logger.ts index d147802..91956a4 100644 --- a/logger.ts +++ b/logger.ts @@ -1,6 +1,20 @@ import * as log from "log/mod.ts"; import { isDenoDeploy } from "./utils.ts"; +const getArgStr = (arg: unknown) => { + if (Array.isArray(arg)) { + return arg.join(", "); + } + if (typeof arg === "object") { + try { + return JSON.stringify(arg, null, 2); + } catch (_e) { + return arg?.toString() ?? arg; + } + } + return arg; +}; + log.setup({ handlers: { console: new log.handlers.ConsoleHandler("DEBUG", { @@ -8,7 +22,7 @@ log.setup({ let msg = `${logRecord.levelName} ${logRecord.msg}`; logRecord.args.forEach((arg, index) => { - msg += `, arg${index}: ${arg}`; + msg += `, arg${index}: ${getArgStr(arg)}`; }); return msg;