Ein Sumor Cloud-Tool.
Weitere Dokumentation
Dies ist ein leichtgewichtiger Logger für Node.JS. Es kann Logs auf verschiedenen Ebenen ausgeben, und Sie können den Bereich, die ID und die Zeitzone anpassen.
npm i @sumor/logger --save
Benötigt Node.JS Version 18.x oder höher
Da dieses Paket in ES-Modul geschrieben ist,
ändern Sie bitte den folgenden Code in Ihrer package.json
-Datei wie folgt:
{
"type": "module"
}
import Logger from '@sumor/logger'
const logger = new Logger()
logger.trace('Hallo Welt!')
// Sie werden die folgende Ausgabe sehen:
// 2020-01-01 00:00:00.000 TRACE MAIN - Hallo Welt!
In einigen Fällen müssen wir Logs kategorisieren. scope
wird hierfür verwendet.
import Logger from '@sumor/logger'
const logger = new Logger({
scope: 'DEMO'
})
logger.trace('Hallo Welt!')
// Sie werden die folgende Ausgabe sehen:
// 2020-01-01 00:00:00.000 TRACE DEMO - Hallo Welt!
In einigen Fällen müssen wir Benutzer kennzeichnen. id
wird hierfür verwendet.
import Logger from '@sumor/logger'
const logger = new Logger({
id: 'USER001'
})
logger.trace('Hallo Welt!')
// Sie werden die folgende Ausgabe sehen:
// 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 werden die folgende Ausgabe sehen:
// 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 werden die folgende Ausgabe sehen:
// 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 ist {ip}'
},
debug: {
USER_TOKEN_LOADED:
'Die Anmeldeinformationen des Benutzers werden gelesen und die Benutzer-ID ist {id}'
},
info: {
USER_LOGIN: 'Der Benutzer meldet sich an und die Benutzer-ID ist {id}'
},
warn: {
USER_LOGOUT: 'Der Benutzer meldet sich ab und die Benutzer-ID ist {id}'
},
error: {
USER_LOGIN_FAILED: 'Die Anmeldung des Benutzers ist fehlgeschlagen und die Benutzer-ID ist {id}'
},
fatal: {
USER_LOGIN_BLOCKED: 'Die Anmeldung des Benutzers ist blockiert und die Benutzer-ID ist {id}'
}
}
const i18n = {
zh: {
USER_LOGIN: 'Benutzeranmeldung, Benutzer-ID ist {id}'
}
}
const logger1 = new Logger({
code,
i18n
})
logger1.code('USER_LOGIN', { id: 'USER001' })
// Sie werden die folgende Ausgabe sehen:
// 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 werden die folgende Ausgabe sehen:
// 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 werden die folgende Ausgabe sehen:
// 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 ist {id}'
}
}
const i18n = {
zh: {
USER_LOGIN: 'Benutzeranmeldung, Benutzer-ID ist {id}'
}
}
const logger = new Logger({
code,
i18n
})
logger.code('USER_LOGIN', { id: 'USER001' })
// Sie werden die folgende Ausgabe sehen:
// 2020-01-01 00:00:00.000 INFO MAIN - Benutzeranmeldung, Benutzer-ID ist USER001
Wenn Sie Logs nach Ebene filtern möchten, können Sie den folgenden Code verwenden:
import Logger from '@sumor/logger'
const logger = new Logger({
level: 'info'
})
logger.trace('Hallo Welt!') // trace ist die niedrigste Ebene, wird nicht ausgegeben
logger.debug('Hallo Welt!') // debug ist niedriger als info, wird nicht ausgegeben
logger.info('Hallo Welt!') // info ist gleich info, wird ausgegeben
logger.warn('Hallo Welt!') // warn ist höher als info, wird ausgegeben
logger.error('Hallo Welt!') // error ist höher als info, wird ausgegeben
logger.fatal('Hallo Welt!') // fatal ist die höchste Ebene, wird ausgegeben
Wenn Sie diese Bibliothek über mehrere Bibliotheken hinweg verwenden, können Sie den folgenden Code verwenden:
import Logger from '@sumor/logger'
const logger = new Logger()
process.env.LOG_LEVEL = 'info'
logger.trace('Hallo Welt!') // trace ist die niedrigste Ebene, wird nicht ausgegeben
logger.debug('Hallo Welt!') // debug ist niedriger als info, wird nicht ausgegeben
logger.info('Hallo Welt!') // info ist gleich info, wird ausgegeben
logger.warn('Hallo Welt!') // warn ist höher als info, wird ausgegeben
logger.error('Hallo Welt!') // error ist höher als info, wird ausgegeben
process.env.LOG_LEVEL = 'warn' // Echtzeit-Änderung des Log-Ebene
logger.info('Hallo Welt!') // info ist niedriger als warn, wird nicht ausgegeben