UNPKG

@speckle/shared

Version:

Shared code between various Speckle JS packages

39 lines (33 loc) 985 B
const clefLevels = { 60: 'Fatal', // FATAL 50: 'Error', // ERROR 40: 'Warning', // WARN 30: 'Information', // INFO = default when not provided 20: 'Debug', // DEBUG 10: 'Verbose' // TRACE / Verbose } as const export function toClefLogLevel(number: number) { return { '@l': number in clefLevels ? clefLevels[number as keyof typeof clefLevels] : clefLevels[30] } } export function toClef(log: Record<string, unknown>): Record<string, unknown> { // add the stuff CLEF wants .... if (log.time) { log['@t'] = new Date(log.time as Date).toISOString() } else { log['@t'] = new Date().toISOString() } if (log.level && (log.level as number) in clefLevels) { log['@l'] = clefLevels[log.level as keyof typeof clefLevels] } const exception = log.error || log.err if (exception) { // Seq wants it as a string - try to prettify it with a legible stack trace log['@x'] = (exception as Error).stack } return log }