1.0.3 • Published 5 years ago

unibot-logmodule v1.0.3

Weekly downloads
2
License
ISC
Repository
-
Last release
5 years ago

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 message detail with level level at the moment date, if remote is true, then the log will be sent to the log service
  • public async warn(detail: string, date:Date, remote=true): log with level warn
  • public async info(detail: string, date:Date, remote=true): log with level info
  • public 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));