(logger: LogConfig | undefined, level: LogLevel, message: string | (() => string), error?: unknown)
| 8 | import type { LogConfig, LogLevel } from '../types'; |
| 9 | |
| 10 | export function log(logger: LogConfig | undefined, level: LogLevel, message: string | (() => string), error?: unknown) { |
| 11 | if (!logger) { |
| 12 | return; |
| 13 | } |
| 14 | |
| 15 | const getMessage = typeof message === 'function' ? message : () => message; |
| 16 | |
| 17 | if (typeof logger === 'function') { |
| 18 | logger(level, getMessage(), error); |
| 19 | } else if (logger.includes(level)) { |
| 20 | const logFn = match(level) |
| 21 | .with('debug', () => console.debug) |
| 22 | .with('info', () => console.info) |
| 23 | .with('warn', () => console.warn) |
| 24 | .with('error', () => console.error) |
| 25 | .exhaustive(); |
| 26 | logFn(`@zenstackhq/server: [${level}] ${getMessage()}${error ? `\n${error}` : ''}`); |
| 27 | } |
| 28 | } |
| 29 | |
| 30 | /** |
| 31 | * Registers custom superjson serializers. |
no outgoing calls
no test coverage detected