| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122 |
- const formatMap = {
- labels: {
- main: {
- start: "\x1b[1m\x1b[32m",
- end: "\x1b[0m",
- },
- },
- logTypes: {
- error: {
- start: "\x1b[31m",
- end: "\x1b[0m",
- },
- warn: {
- start: "\x1b[33m",
- end: "\x1b[0m",
- },
- info: {
- start: "\x1b[32m",
- end: "\x1b[0m",
- },
- debug: {
- start: "\x1b[34m",
- end: "\x1b[0m",
- },
- },
- }
- function messageStart(label, logType) {
- const labelFormatting = formatMap.labels?.[label]?.start || `[${label}] `
- const logTypeFormatting = `${formatMap.logTypes?.[logType]?.start || ""}[${logType}] `
- return `${logTypeFormatting}${labelFormatting}`
- }
- function messageEnd(label, logType) {
- const labelFormatting = formatMap.labels?.[label]?.end || ""
- const logTypeFormatting = formatMap.logTypes?.[logType]?.end || ""
- return `${logTypeFormatting}${labelFormatting}`
- }
- function logMessage(logType, label) {
- const log = console[logType]
- const startStr = messageStart(label, logType)
- const endStr = messageEnd(label, logType)
- return (message) => {
- log(`${startStr}${message}${endStr}`)
- }
- }
- function noop() {
- }
- export function getLogger(logLevel = "info", name) {
- const label = name || "genid"
- switch(logLevel) {
- case 6:
- case "trace":
- return {
- group: console.group,
- groupEnd: console.groupEnd,
- trace: console.trace,
- debug: logMessage("debug", label),
- info: logMessage("info", label),
- warn: logMessage("warn", label),
- error: logMessage("error", label),
- }
- case "debug":
- return {
- group: console.group,
- groupEnd: console.groupEnd,
- trace: noop,
- debug: logMessage("debug", label),
- info: logMessage("info", label),
- warn: logMessage("warn", label),
- error: logMessage("error", label),
- }
- case 4:
- case "info":
- return {
- group: console.group,
- groupEnd: console.groupEnd,
- trace: noop,
- debug: noop,
- info: logMessage("info", label),
- warn: logMessage("warn", label),
- error: logMessage("error", label),
- }
- case 3:
- case "warn":
- return {
- group: console.group,
- groupEnd: console.groupEnd,
- trace: noop,
- debug: noop,
- info: noop,
- warn: logMessage("warn", label),
- error: logMessage("error", label),
- }
- case 2:
- case "error":
- return {
- group: console.group,
- groupEnd: console.groupEnd,
- trace: noop,
- debug: noop,
- info: noop,
- warn: noop,
- error: logMessage("error", label),
- }
- case 1:
- case "silent":
- return {
- group: noop,
- groupEnd: noop,
- trace: noop,
- debug: noop,
- info: noop,
- warn: noop,
- error: noop,
- }
- }
- }
|