Un outil Sumor Cloud.
Plus de documentation
C'est un enregistreur léger pour Node.JS. Il peut afficher des logs à différents niveaux, et vous pouvez personnaliser la portée, l'ID et le fuseau horaire.
npm i @sumor/logger --save
Nécessite Node.JS version 16.x ou supérieure
Comme ce package est écrit en module ES,
veuillez modifier le code suivant dans votre fichier package.json
:
{
"type": "module"
}
import Logger from '@sumor/logger'
const logger = new Logger()
logger.trace('Bonjour le monde !')
// Vous verrez la sortie suivante :
// 2020-01-01 00:00:00.000 TRACE MAIN - Bonjour le monde !
Dans certains cas, nous avons besoin de catégoriser les logs. scope
est utilisé à cette fin.
import Logger from '@sumor/logger'
const logger = new Logger({
scope: 'DEMO'
})
logger.trace('Bonjour le monde !')
// Vous verrez la sortie suivante :
// 2020-01-01 00:00:00.000 TRACE DEMO - Bonjour le monde !
Dans certains cas, nous avons besoin d'identifier un utilisateur. id
est utilisé à cette fin.
import Logger from '@sumor/logger'
const logger = new Logger({
id: 'UTILISATEUR001'
})
logger.trace('Bonjour le monde !')
// Vous verrez la sortie suivante :
// 2020-01-01 00:00:00.000 TRACE MAIN UTILISATEUR001 - Bonjour le monde !
La plupart du temps, nous avons seulement besoin d'afficher les logs d'un certain niveau. Ensuite, nous pouvons décider de les stocker et de les afficher ou non.
import Logger from '@sumor/logger'
const logger = new Logger()
logger.trace('Bonjour le monde !') // trace est le niveau le plus bas, tous les logs seront affichés
logger.debug('Bonjour le monde !')
logger.info('Bonjour le monde !')
logger.warn('Bonjour le monde !')
logger.error('Bonjour le monde !')
logger.fatal('Bonjour le monde !') // fatal est le niveau le plus élevé, seules les erreurs critiques seront affichées
import Logger from '@sumor/logger'
const logger1 = new Logger({
offset: 2 * 60 // Le décalage UTC+2 est de 2 heures
})
logger1.info('Bonjour le monde !')
// Vous verrez la sortie suivante :
// 2020-01-01 02:00:00.000 INFO MAIN - Bonjour le monde !
const logger2 = new Logger({
offset: 8 * 60 // Le décalage UTC+8 est de 8 heures
})
logger2.info('Bonjour le monde !')
// Vous verrez la sortie suivante :
// 2020-01-01 08:00:00.000 INFO MAIN - Bonjour le monde !
import Logger from '@sumor/logger'
const code = {
trace: {
HTTP_ACCESS: "L'utilisateur accède via HTTP et l'adresse IP est {ip}"
},
debug: {
USER_TOKEN_LOADED:
"Les informations de connexion de l'utilisateur sont lues et l'ID de l'utilisateur est {id}"
},
info: {
USER_LOGIN: "L'utilisateur se connecte et l'ID de l'utilisateur est {id}"
},
warn: {
USER_LOGOUT: "L'utilisateur se déconnecte et l'ID de l'utilisateur est {id}"
},
error: {
USER_LOGIN_FAILED: "Échec de la connexion de l'utilisateur et l'ID de l'utilisateur est {id}"
},
fatal: {
USER_LOGIN_BLOCKED:
"La connexion de l'utilisateur est bloquée et l'ID de l'utilisateur est {id}"
}
}
const i18n = {
zh: {
USER_LOGIN: "L'utilisateur se connecte et l'ID de l'utilisateur est {id}"
}
}
const logger1 = new Logger({
code,
i18n
})
logger1.code('USER_LOGIN', { id: 'UTILISATEUR001' })
// Vous verrez la sortie suivante :
// 2020-01-01 00:00:00.000 INFO MAIN - L'utilisateur se connecte et l'ID de l'utilisateur est UTILISATEUR001
const logger2 = new Logger({
code,
i18n,
language: 'zh-US'
})
logger2.code('USER_LOGIN', { id: 'UTILISATEUR001' })
// Vous verrez la sortie suivante :
// 2020-01-01 00:00:00.000 INFO MAIN - L'utilisateur se connecte et l'ID de l'utilisateur est UTILISATEUR001
const logger3 = new Logger({
code,
i18n,
language: 'zh-CN'
})
logger3.code('USER_LOGIN', { id: 'UTILISATEUR001' })
// Vous verrez la sortie suivante :
// 2020-01-01 00:00:00.000 INFO MAIN - L'utilisateur se connecte et l'ID de l'utilisateur est UTILISATEUR001
process.env.LANGUAGE = 'zh-CN'
import Logger from '@sumor/logger'
const code = {
info: {
USER_LOGIN: "L'utilisateur se connecte et l'ID de l'utilisateur est {id}"
}
}
const i18n = {
zh: {
USER_LOGIN: "L'utilisateur se connecte et l'ID de l'utilisateur est {id}"
}
}
const logger = new Logger({
code,
i18n
})
logger.code('USER_LOGIN', { id: 'UTILISATEUR001' })
// Vous verrez la sortie suivante :
// 2020-01-01 00:00:00.000 INFO MAIN - L'utilisateur se connecte et l'ID de l'utilisateur est UTILISATEUR001
Lorsque vous souhaitez filtrer les logs par niveau, vous pouvez utiliser le code suivant:
import Logger from '@sumor/logger'
const logger = new Logger({
level: 'info'
})
logger.trace('Bonjour le monde !') // trace est le niveau le plus bas, ne sera pas affiché
logger.debug('Bonjour le monde !') // debug est inférieur à info, ne sera pas affiché
logger.info('Bonjour le monde !') // info est identique à info, sera affiché
logger.warn('Bonjour le monde !') // warn est supérieur à info, sera affiché
logger.error('Bonjour le monde !') // error est supérieur à info, sera affiché
logger.fatal('Bonjour le monde !') // fatal est le niveau le plus élevé, sera affiché
Lorsque vous utilisez cette bibliothèque à travers plusieurs libraries, vous pouvez utiliser le code suivant:
import Logger from '@sumor/logger'
const logger = new Logger()
process.env.LOG_LEVEL = 'info'
logger.trace('Bonjour le monde !') // trace est le niveau le plus bas, ne sera pas affiché
logger.debug('Bonjour le monde !') // debug est inférieur à info, ne sera pas affiché
logger.info('Bonjour le monde !') // info est identique à info, sera affiché
logger.warn('Bonjour le monde !') // warn est supérieur à info, sera affiché
logger.error('Bonjour le monde !') // error est supérieur à info, sera affiché
process.env.LOG_LEVEL = 'warn' // changer le niveau de log en temps réel
logger.info('Bonjour le monde !') // info est inférieur à warn, ne sera pas affiché