diff options
| author | JustZvan <justzvan@justzvan.xyz> | 2026-02-06 12:16:40 +0100 |
|---|---|---|
| committer | JustZvan <justzvan@justzvan.xyz> | 2026-02-06 12:16:40 +0100 |
| commit | e904e9634548e47d611bdcbb88d7b180b927fd5f (patch) | |
| tree | 21aa5be08fc5b22585508c0263ee5ea4effcc593 /src/lib/pino.ts | |
feat: initial commit!
Diffstat (limited to 'src/lib/pino.ts')
| -rw-r--r-- | src/lib/pino.ts | 29 |
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); |