From 613dd5ef172cd3f4ec263ff0b14b1e0024872331 Mon Sep 17 00:00:00 2001 From: cfngc4594 Date: Sun, 4 May 2025 21:35:44 +0800 Subject: [PATCH] feat(log): add pino logging support --- next.config.ts | 2 +- src/lib/logger.ts | 21 +++++++++++++++++++++ 2 files changed, 22 insertions(+), 1 deletion(-) create mode 100644 src/lib/logger.ts diff --git a/next.config.ts b/next.config.ts index f3b403a..7bdf5d2 100644 --- a/next.config.ts +++ b/next.config.ts @@ -3,7 +3,7 @@ import createNextIntlPlugin from 'next-intl/plugin'; const nextConfig: NextConfig = { output: "standalone", - serverExternalPackages: ["dockerode"], + serverExternalPackages: ["dockerode", "pino", "pino-pretty"], }; const withNextIntl = createNextIntlPlugin(); diff --git a/src/lib/logger.ts b/src/lib/logger.ts new file mode 100644 index 0000000..398702f --- /dev/null +++ b/src/lib/logger.ts @@ -0,0 +1,21 @@ +import pino from "pino"; + +const logger = + process.env["NODE_ENV"] === "production" + ? // JSON in production + pino({ level: "info" }) + : // Pretty print in development + pino({ + level: "debug", + transport: { + target: "pino-pretty", + options: { + levelFirst: true, + colorize: true, + ignore: "hostname,pid", + translateTime: "yyyy-mm-dd HH:MM:ss", + }, + }, + }); + +export { logger };