summaryrefslogtreecommitdiff
path: root/src/lib/pino.ts
diff options
context:
space:
mode:
authorJustZvan <justzvan@justzvan.xyz>2026-02-06 12:16:40 +0100
committerJustZvan <justzvan@justzvan.xyz>2026-02-06 12:16:40 +0100
commite904e9634548e47d611bdcbb88d7b180b927fd5f (patch)
tree21aa5be08fc5b22585508c0263ee5ea4effcc593 /src/lib/pino.ts
feat: initial commit!
Diffstat (limited to 'src/lib/pino.ts')
-rw-r--r--src/lib/pino.ts29
1 files changed, 29 insertions, 0 deletions
diff --git a/src/lib/pino.ts b/src/lib/pino.ts
new file mode 100644
index 0000000..a396361
--- /dev/null
+++ b/src/lib/pino.ts
@@ -0,0 +1,29 @@
+import pino from "pino";
+import type { LokiOptions } from "pino-loki";
+
+let transport;
+
+if (process.env.NODE_ENV === "production") {
+ transport = pino.transport<LokiOptions>({
+ target: "pino-loki",
+ options: {
+ host: process.env.LOKI_HOST!,
+ basicAuth: {
+ username: process.env.LOKI_USERNAME!,
+ password: process.env.LOKI_PASSWORD!,
+ },
+ },
+ });
+} else {
+ transport = pino.transport({
+ target: "pino-pretty",
+ options: {
+ colorize: true,
+ translateTime: "SYS:standard",
+ ignore: "pid,hostname",
+ },
+ });
+}
+
+/** Application-wide logger instance that writes to Loki in production, pretty-prints locally */
+export const logger = pino(transport);