A simple AtProto app to read pet.mewsse.link records on my PDS.
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}