|
| 1 | +import type { Logger, ScopedLogger } from "@shared/lib/create-logger.js"; |
| 2 | +import { createLogger } from "@shared/lib/create-logger.js"; |
1 | 3 | import { app } from "electron"; |
2 | 4 | import log from "electron-log/main"; |
3 | 5 |
|
4 | | -// Initialize IPC transport to forward main process logs to renderer dev tools |
5 | 6 | log.initialize(); |
6 | 7 |
|
7 | | -// Set levels - use debug in dev (check NODE_ENV since app.isPackaged may not be ready) |
8 | 8 | const isDev = process.env.NODE_ENV === "development" || !app.isPackaged; |
9 | 9 | const level = isDev ? "debug" : "info"; |
10 | 10 | log.transports.file.level = level; |
11 | 11 | log.transports.console.level = level; |
12 | | -// IPC transport needs level set separately |
13 | 12 | log.transports.ipc.level = level; |
14 | 13 |
|
15 | | -export const logger = { |
16 | | - info: (message: string, ...args: unknown[]) => log.info(message, ...args), |
17 | | - warn: (message: string, ...args: unknown[]) => log.warn(message, ...args), |
18 | | - error: (message: string, ...args: unknown[]) => log.error(message, ...args), |
19 | | - debug: (message: string, ...args: unknown[]) => log.debug(message, ...args), |
20 | | - |
21 | | - scope: (name: string) => { |
22 | | - const scoped = log.scope(name); |
23 | | - return { |
24 | | - info: (message: string, ...args: unknown[]) => |
25 | | - scoped.info(message, ...args), |
26 | | - warn: (message: string, ...args: unknown[]) => |
27 | | - scoped.warn(message, ...args), |
28 | | - error: (message: string, ...args: unknown[]) => |
29 | | - scoped.error(message, ...args), |
30 | | - debug: (message: string, ...args: unknown[]) => |
31 | | - scoped.debug(message, ...args), |
32 | | - }; |
33 | | - }, |
34 | | -}; |
35 | | - |
36 | | -export type Logger = typeof logger; |
37 | | -export type ScopedLogger = ReturnType<typeof logger.scope>; |
| 14 | +export const logger = createLogger(log); |
| 15 | +export type { Logger, ScopedLogger }; |
0 commit comments