29 lines
755 B
TypeScript
29 lines
755 B
TypeScript
import type { LoggerApi, LoggerPayload, LogLevel } from '~/composables/useLogger'
|
|
|
|
function write(level: LogLevel, message: string, payload?: LoggerPayload) {
|
|
const timestamp = new Date().toISOString()
|
|
const prefix = `[template:${level}] ${timestamp} ${message}`
|
|
|
|
if (payload) {
|
|
console[level](prefix, payload)
|
|
return
|
|
}
|
|
|
|
console[level](prefix)
|
|
}
|
|
|
|
export default defineNuxtPlugin(() => {
|
|
const logger: LoggerApi = {
|
|
debug: (message, payload) => write('debug', message, payload),
|
|
info: (message, payload) => write('info', message, payload),
|
|
warn: (message, payload) => write('warn', message, payload),
|
|
error: (message, payload) => write('error', message, payload)
|
|
}
|
|
|
|
return {
|
|
provide: {
|
|
logger
|
|
}
|
|
}
|
|
})
|