mirror of
https://github.com/basicmachines-co/basic-memory
synced 2026-06-21 13:47:35 +00:00
5365f971ef
Signed-off-by: phernandez <paul@basicmachines.co>
48 lines
1.1 KiB
TypeScript
48 lines
1.1 KiB
TypeScript
export type LoggerBackend = {
|
|
info(msg: string, ...args: unknown[]): void
|
|
warn(msg: string, ...args: unknown[]): void
|
|
error(msg: string, ...args: unknown[]): void
|
|
debug?(msg: string, ...args: unknown[]): void
|
|
}
|
|
|
|
const NOOP_LOGGER: LoggerBackend = {
|
|
info() {},
|
|
warn() {},
|
|
error() {},
|
|
debug() {},
|
|
}
|
|
|
|
let _backend: LoggerBackend = NOOP_LOGGER
|
|
let _debug = false
|
|
|
|
export function initLogger(backend: LoggerBackend, debug: boolean): void {
|
|
_backend = backend
|
|
_debug = debug
|
|
}
|
|
|
|
export const log = {
|
|
info(msg: string, ...args: unknown[]): void {
|
|
_backend.info(`basic-memory: ${msg}`, ...args)
|
|
},
|
|
|
|
warn(msg: string, ...args: unknown[]): void {
|
|
_backend.warn(`basic-memory: ${msg}`, ...args)
|
|
},
|
|
|
|
error(msg: string, err?: unknown): void {
|
|
const detail =
|
|
err instanceof Error
|
|
? err.message
|
|
: err !== undefined && err !== ""
|
|
? String(err)
|
|
: ""
|
|
_backend.error(`basic-memory: ${msg}${detail ? ` — ${detail}` : ""}`)
|
|
},
|
|
|
|
debug(msg: string, ...args: unknown[]): void {
|
|
if (!_debug) return
|
|
const fn = _backend.debug ?? _backend.info
|
|
fn(`basic-memory [debug]: ${msg}`, ...args)
|
|
},
|
|
}
|