mirror of
https://github.com/pockethost/pockethost.git
synced 2025-11-23 22:15:49 +00:00
refactor(pockethost): simplify ConsoleLogger by removing unused prefix and optimizing breadcrumb handling
This commit is contained in:
parent
8ec5d00df4
commit
01540dad27
@ -11,58 +11,59 @@ const CONSOLE_METHODS = {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export function ConsoleLogger(initialConfig: Partial<LoggerConfig> = {}): Logger {
|
export function ConsoleLogger(initialConfig: Partial<LoggerConfig> = {}): Logger {
|
||||||
let config: LoggerConfig = {
|
const config: LoggerConfig = {
|
||||||
level: LogLevelName.Info,
|
level: LogLevelName.Info,
|
||||||
pfx: [],
|
|
||||||
breadcrumbs: [],
|
breadcrumbs: [],
|
||||||
context: {},
|
context: {},
|
||||||
...initialConfig,
|
...initialConfig,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const { breadcrumbs, context } = config
|
||||||
|
|
||||||
function log(level: LogLevelName, args: any[]) {
|
function log(level: LogLevelName, args: any[]) {
|
||||||
if (isLevelGte(level, config.level)) {
|
if (isLevelGte(level, config.level)) {
|
||||||
const prefix = config.pfx.length > 0 ? `[${config.pfx.join(':')}] ` : ''
|
CONSOLE_METHODS[level](`[${level.toUpperCase()}]`, ...withBreadcrumbs(args))
|
||||||
CONSOLE_METHODS[level](`${prefix}${level.toUpperCase()}:`, ...args)
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
const breadcrumbs: string[] = []
|
|
||||||
const context: Record<string, string | number | undefined> = {}
|
|
||||||
const withBreadcrumbs = (args: any[]) => {
|
const withBreadcrumbs = (args: any[]) => {
|
||||||
return [breadcrumbs.map((b) => `[${b}]`).join(' '), ...args]
|
return [breadcrumbs.map((b) => `[${b}]`).join(' '), ...args]
|
||||||
}
|
}
|
||||||
|
|
||||||
const logger: Logger = {
|
const logger: Logger = {
|
||||||
raw(...args: any[]) {
|
raw(...args: any[]) {
|
||||||
log(LogLevelName.Raw, withBreadcrumbs(args))
|
log(LogLevelName.Raw, args)
|
||||||
},
|
},
|
||||||
trace(...args: any[]) {
|
trace(...args: any[]) {
|
||||||
log(LogLevelName.Trace, withBreadcrumbs(args))
|
log(LogLevelName.Trace, args)
|
||||||
},
|
},
|
||||||
debug(...args: any[]) {
|
debug(...args: any[]) {
|
||||||
log(LogLevelName.Debug, withBreadcrumbs(args))
|
log(LogLevelName.Debug, args)
|
||||||
},
|
},
|
||||||
dbg(...args: any[]) {
|
dbg(...args: any[]) {
|
||||||
logger.debug(...args)
|
logger.debug(...args)
|
||||||
},
|
},
|
||||||
info(...args: any[]) {
|
info(...args: any[]) {
|
||||||
log(LogLevelName.Info, withBreadcrumbs(args))
|
log(LogLevelName.Info, args)
|
||||||
},
|
},
|
||||||
warn(...args: any[]) {
|
warn(...args: any[]) {
|
||||||
log(LogLevelName.Warn, withBreadcrumbs(args))
|
log(LogLevelName.Warn, args)
|
||||||
},
|
},
|
||||||
error(...args: any[]) {
|
error(...args: any[]) {
|
||||||
log(LogLevelName.Error, withBreadcrumbs(args))
|
log(LogLevelName.Error, args)
|
||||||
},
|
},
|
||||||
criticalError(...args: any[]) {
|
criticalError(...args: any[]) {
|
||||||
logger.error('CRITICAL:', withBreadcrumbs(args))
|
logger.error('CRITICAL:', args)
|
||||||
},
|
},
|
||||||
create(name: string, configOverride?: Partial<LoggerConfig>): Logger {
|
create(name: string, configOverride?: Partial<LoggerConfig>): Logger {
|
||||||
|
const newBreadcrumbs = [...breadcrumbs]
|
||||||
|
if (!newBreadcrumbs.includes(name)) {
|
||||||
|
newBreadcrumbs.push(name)
|
||||||
|
}
|
||||||
const newConfig = {
|
const newConfig = {
|
||||||
...config,
|
...config,
|
||||||
breadcrumbs: [...breadcrumbs, name],
|
breadcrumbs: newBreadcrumbs,
|
||||||
context: { ...context },
|
context: { ...context },
|
||||||
pfx: [...config.pfx, name],
|
|
||||||
logger: logger,
|
logger: logger,
|
||||||
...configOverride,
|
...configOverride,
|
||||||
}
|
}
|
||||||
@ -72,7 +73,9 @@ export function ConsoleLogger(initialConfig: Partial<LoggerConfig> = {}): Logger
|
|||||||
return logger.create(name)
|
return logger.create(name)
|
||||||
},
|
},
|
||||||
breadcrumb(s: string): Logger {
|
breadcrumb(s: string): Logger {
|
||||||
|
if (!breadcrumbs.includes(s)) {
|
||||||
breadcrumbs.push(s)
|
breadcrumbs.push(s)
|
||||||
|
}
|
||||||
return logger
|
return logger
|
||||||
},
|
},
|
||||||
context(name: string | object, value?: string | number): Logger {
|
context(name: string | object, value?: string | number): Logger {
|
||||||
|
|||||||
@ -3,7 +3,6 @@ import { ConsoleLogger } from './ConsoleLogger'
|
|||||||
|
|
||||||
export type LoggerConfig = {
|
export type LoggerConfig = {
|
||||||
level: LogLevelName
|
level: LogLevelName
|
||||||
pfx: string[]
|
|
||||||
breadcrumbs: string[]
|
breadcrumbs: string[]
|
||||||
context: Record<string, LoggerContextValue>
|
context: Record<string, LoggerContextValue>
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user