A simple AtProto app to read pet.mewsse.link records on my PDS.
at main 970 B view raw
1interface logLevelgInterface { 2 [key: string]: number 3} 4 5 6export const logger = { 7 debug: logDebug, 8 info: logInfo, 9 warn: logWarn, 10 error: logError, 11 fatal: logFatal 12} 13 14export const logLevel: logLevelgInterface = { 15 DEBUG: 5, 16 INFO: 4, 17 WARN: 3, 18 ERROR: 2, 19 FATAL: 1, 20} as const 21 22export function log(level: number, type: string, message: any): void { 23 const envLevel = process.env.LOG_LEVEL ? logLevel[process.env.LOG_LEVEL] : logLevel.INFO 24 if (level > envLevel) return 25 26 console.log(`${type} ${new Date().toISOString()}: ${message}`) 27} 28 29function logDebug(message: any): void { 30 log(logLevel.DEBUG, "[DEBUG]", message) 31} 32 33function logInfo(message: any): void { 34 log(logLevel.INFO, "[INFO]", message) 35} 36 37function logWarn(message: any): void { 38 log(logLevel.WARN, "[WARN]", message) 39} 40 41function logError(message: any): void { 42 log(logLevel.ERROR, "[WARN]", message) 43} 44 45function logFatal(message: any): void { 46 log(logLevel.ERROR, "[WARN]", message) 47}