Ein Sumor Cloud Tool.
Weitere Dokumentationen
Dies ist ein leichtgewichtiger Logger für Node.JS.
Er kann Logs in verschiedenen Ebenen ausgeben und Sie können den Scope, die ID und die Zeitzone anpassen.
npm i @sumor/logger --save
Benötigt Node.JS Version 16.x oder höher
Da dieses Paket in einem ES-Modul geschrieben ist,
ändern Sie bitte den folgenden Code in Ihrer package.json
-Datei:
{
"type": "module"
}
import Logger from '@sumor/logger'
const logger = new Logger()
logger.trace('Hallo Welt!')
// Sie sehen die folgende Ausgabe:
// 2020-01-01 00:00:00.000 TRACE MAIN - Hallo Welt!
Für manche Fälle müssen wir Logs kategorisieren. scope
wird dafür verwendet.
import Logger from '@sumor/logger'
const logger = new Logger({ scope: 'DEMO' })
logger.trace('Hallo Welt!')
// Sie sehen die folgende Ausgabe:
// 2020-01-01 00:00:00.000 TRACE DEMO - Hallo Welt!
Für manche Fälle benötigen wir eine Benutzerkennung. id
wird dafür verwendet.
import Logger from '@sumor/logger'
const logger = new Logger({ id: 'USER001' })
logger.trace('Hallo Welt!')
// Sie sehen die folgende Ausgabe:
// 2020-01-01 00:00:00.000 TRACE MAIN USER001 - Hallo Welt!
Meistens müssen wir nur Logs einer bestimmten Ebene ausgeben. Dann können wir entscheiden, ob wir sie speichern und anzeigen oder nicht.
import Logger from '@sumor/logger'
const logger = new Logger()
logger.trace('Hallo Welt!') // trace ist die niedrigste Ebene, alle Logs werden ausgegeben
logger.debug('Hallo Welt!')
logger.info('Hallo Welt!')
logger.warn('Hallo Welt!')
logger.error('Hallo Welt!')
logger.fatal('Hallo Welt!') // fatal ist die höchste Ebene, es werden nur kritische Fehler ausgegeben
import Logger from '@sumor/logger'
const logger1 = new Logger({ offset: 2 * 60 }) // UTC+2 Offset beträgt 2 Stunden
logger1.info('Hallo Welt!')
// Sie sehen die folgende Ausgabe:
// 2020-01-01 02:00:00.000 INFO MAIN - Hallo Welt!
const logger2 = new Logger({ offset: 8 * 60 }) // UTC+8 Offset beträgt 8 Stunden
logger2.info('Hallo Welt!')
// Sie sehen die folgende Ausgabe:
// 2020-01-01 08:00:00.000 INFO MAIN - Hallo Welt!
import Logger from '@sumor/logger'
const code = {
trace: {
HTTP_ACCESS: 'Der Benutzer greift über HTTP zu und die IP-Adresse lautet {ip}'
},
debug: {
USER_TOKEN_LOADED:
'Die Benutzeranmeldeinformationen werden gelesen und die Benutzer-ID lautet {id}'
},
info: {
USER_LOGIN: 'Der Benutzer meldet sich an und die Benutzer-ID lautet {id}'
},
warn: {
USER_LOGOUT: 'Der Benutzer meldet sich ab und die Benutzer-ID lautet {id}'
},
error: {
USER_LOGIN_FAILED: 'Die Benutzeranmeldung ist fehlgeschlagen und die Benutzer-ID lautet {id}'
},
fatal: {
USER_LOGIN_BLOCKED: 'Die Benutzeranmeldung ist blockiert und die Benutzer-ID lautet {id}'
}
}
const i18n = {
zh: {
USER_LOGIN: 'Benutzeranmeldung, Benutzer-ID ist {id}'
}
}
const logger1 = new Logger({ code, i18n })
logger1.code('USER_LOGIN', { id: 'USER001' })
// Sie sehen die folgende Ausgabe:
// 2020-01-01 00:00:00.000 INFO MAIN - Der Benutzer meldet sich an und die Benutzer-ID ist USER001
const logger2 = new Logger({ code, i18n, language: 'zh-US' })
logger2.code('USER_LOGIN', { id: 'USER001' })
// Sie sehen die folgende Ausgabe:
// 2020-01-01 00:00:00.000 INFO MAIN - Der Benutzer meldet sich an und die Benutzer-ID ist USER001
const logger3 = new Logger({ code, i18n, language: 'zh-CN' })
logger3.code('USER_LOGIN', { id: 'USER001' })
// Sie sehen die folgende Ausgabe:
// 2020-01-01 00:00:00.000 INFO MAIN - Benutzeranmeldung, Benutzer-ID ist USER001
process.env.LANGUAGE = 'zh-CN'
import Logger from '@sumor/logger'
const code = {
info: {
USER_LOGIN: 'Der Benutzer meldet sich an und die Benutzer-ID lautet {id}'
}
}
const i18n = {
zh: {
USER_LOGIN: 'Benutzeranmeldung, Benutzer-ID ist {id}'
}
}
const logger = new Logger({ code, i18n })
logger.code('USER_LOGIN', { id: 'USER001' })
// Sie sehen die folgende Ausgabe:
// 2020-01-01 00:00:00.000 INFO MAIN - Benutzeranmeldung, Benutzer-ID ist USER001