diff options
| author | MohamedBassem <me@mbassem.com> | 2025-07-27 21:13:10 +0100 |
|---|---|---|
| committer | MohamedBassem <me@mbassem.com> | 2025-07-27 21:45:57 +0100 |
| commit | 8fe4975c1fa84699abf1df76baf56717ce05a7d8 (patch) | |
| tree | 65bc0dbe3055d567c19064eaea8c944ec078af03 | |
| parent | 802f93bc1bf2a3a247cb3751c4f5c9a67c2ab885 (diff) | |
| download | karakeep-8fe4975c1fa84699abf1df76baf56717ce05a7d8.tar.zst | |
feat: Support NO_COLOR for logging. Fixes #1778
| -rw-r--r-- | packages/api/index.ts | 9 | ||||
| -rw-r--r-- | packages/shared/config.ts | 2 | ||||
| -rw-r--r-- | packages/shared/logger.ts | 2 |
3 files changed, 10 insertions, 3 deletions
diff --git a/packages/api/index.ts b/packages/api/index.ts index 1e353f41..44c40b0c 100644 --- a/packages/api/index.ts +++ b/packages/api/index.ts @@ -1,8 +1,9 @@ import { Hono } from "hono"; import { cors } from "hono/cors"; -import { logger } from "hono/logger"; +import { logger as loggerMiddleware } from "hono/logger"; import { poweredBy } from "hono/powered-by"; +import logger from "@karakeep/shared/logger"; import { Context } from "@karakeep/trpc"; import trpcAdapter from "./middlewares/trpcAdapter"; @@ -39,7 +40,11 @@ const app = new Hono<{ ctx: Context; }; }>() - .use(logger()) + .use( + loggerMiddleware((str: string) => { + logger.info(str); + }), + ) .use(poweredBy()) .use( cors({ diff --git a/packages/shared/config.ts b/packages/shared/config.ts index a71014f0..86ff6235 100644 --- a/packages/shared/config.ts +++ b/packages/shared/config.ts @@ -77,6 +77,7 @@ const allEnv = z.object({ .transform((t) => t.split("%%").filter((a) => a)), CRAWLER_SCREENSHOT_TIMEOUT_SEC: z.coerce.number().default(5), LOG_LEVEL: z.string().default("debug"), + NO_COLOR: stringBool("false"), DEMO_MODE: stringBool("false"), DEMO_MODE_EMAIL: z.string().optional(), DEMO_MODE_PASSWORD: z.string().optional(), @@ -231,6 +232,7 @@ const serverConfigSchema = allEnv numWorkers: val.SEARCH_NUM_WORKERS, }, logLevel: val.LOG_LEVEL, + logNoColor: val.NO_COLOR, demoMode: val.DEMO_MODE ? { email: val.DEMO_MODE_EMAIL, diff --git a/packages/shared/logger.ts b/packages/shared/logger.ts index f406b447..efe78ff3 100644 --- a/packages/shared/logger.ts +++ b/packages/shared/logger.ts @@ -6,7 +6,7 @@ const logger = winston.createLogger({ level: serverConfig.logLevel, format: winston.format.combine( winston.format.timestamp(), - winston.format.colorize(), + ...(serverConfig.logNoColor ? [] : [winston.format.colorize()]), winston.format.printf( (info) => `${info.timestamp} ${info.level}: ${info.message}`, ), |
