unibot-logmodule
v1.0.3
Published
A small npm module to deal with logs in a node application
Downloads
5
Readme
LogModule
Introduction
This module's purpose is to handle the logs in a node application.
It contains one class LogModule
which contains a logger to log in console and in a file if desired
and send it to the remote LogService so other clients can access these logs.
LogModule class
Fields
logger
: this field contains the logger (winston logger)logUrl
: this field contains the Log Service URL (set in constructor)serviceName
: the name of the service that wants to log (set in constructor)accessToken
: the access token used to authenticate (set in constructor)
Constructor
public constructor(accessToken: string, logUrl: string, serviceName: string, pathLog = '');
If pathLog != '', the module will log in console and in the file pointed by the path pathLog
Methods
public async log(detail: string, level:string, date:Date, remote=true)
: log the messagedetail
with levellevel
at the momentdate
, if remote is true, then the log will be sent to the log servicepublic async warn(detail: string, date:Date, remote=true)
: log with level warnpublic async info(detail: string, date:Date, remote=true)
: log with level infopublic async error(detail: string, date:Date, remote=true)
: log with level error
Exemples
- Instantiate the LogModule
const access_token = 'd75200fa-5080-4c34-81d6-1f68400f9b89';
const log = new LogModule(access_token, 'http://localhost:8080', 'TestLog');
- Log only in console
log.log('Une information', 'INFO', new Date(Date.now()), false).catch((error) => console.log(error));
log.warn('Un avertissement', new Date(Date.now()), false).catch((error) => console.log(error));
log.error('Une erreur', new Date(Date.now()), false).catch((error) => console.log(error));
- Log with save file
const log2 = new LogModule(access_token, 'http://localhost:8080', 'TestLog', '../../sys2.log');
log2.log('Une information', 'INFO', new Date(Date.now()), false).catch((error) => console.log(error));
log2.warn('Un avertissement', new Date(Date.now()), false).catch((error) => console.log(error));
log2.error('Une erreur', new Date(Date.now()), false).catch((error) => console.log(error));
- Log with remote without save file
const log3 = new LogModule(access_token, 'http://localhost:8080', 'TestLog');
log3.log('Une information', 'INFO', new Date(Date.now())).catch((error) => console.log(error));
log3.warn('Un avertissement', new Date(Date.now())).catch((error) => console.log(error));
log3.error('Une erreur', new Date(Date.now())).catch((error) => console.log(error));
- Log with remote with save file
const log4 = new LogModule(access_token, 'http://localhost:8080', 'TestLog', '../../sys3.log');
log4.log('Une information', 'INFO', new Date(Date.now())).catch((error) => console.log(error));
log4.warn('Un avertissement', new Date(Date.now())).catch((error) => console.log(error));
log4.error('Une erreur', new Date(Date.now())).catch((error) => console.log(error));
- Test with bad file directory
const log5 = new LogModule(access_token, 'http://localhost:8080', 'TestLog', '../..');
log5.log('Une info', 'INFO', new Date(Date.now()), false).catch((error) => console.log(error));