@gigads/logger-client

0.3.1 • Public • Published

@GigaDS logger-client

Helper to log on DB from any NodeJS express-based server.

Options object and defaults

options = { 
  // pino-related options
  prettyPrint: false,                // non-mandatory

  // @gigads/logger-client specific options
  enableRouterLog: false,            // non-mandatory, enables pino-http logger on routes
  enableConsoleLog: false,           // non-mandatory, logs on output when log method is called
  enableDatabaseLog: false,          // non-mandatory, logs on database when log method is called
  databaseApiUrl: '',                // mandatory if enableDatabaseLog = true, url to logger server APIs
  databaseApiAuthToken: '',          // depends on your logger server, better if you use one. auth_token in headers
  nodeEnv: process.env.NODE_ENV,     // non-mandatory, NODE_ENV variable should be passed. defaults to 'undefined'
  defaultLogLevel: LogLevel.DEBUG,   // non-mandatory, default log level, defaults to 'debug'
  applicationName: 'myLoggingApp'    // who is logging
};

Log levels

LogLevel.TRACE
LogLevel.DEBUG
LogLevel.INFO
LogLevel.WARN
LogLevel.ERROR
Loglevel.FATAL

How to

const { loggerMiddleware, LogLevel } = require('@gigads/logger-client');
app.use(loggerMiddleware(options));

Then, in any app route, you can log with

// req.logger.log(level, operation, message, extras);
req.logger.log(LogLevel.WARN, 'Cloning obj', 'obj was filled', {
  value: obj.field
});

or with any other helper (see below)

API

Generic log

req.logger.log(level, operation, message, extras);

Helpers

req.logger.logTrace(operation, message, extras);
req.logger.logDebug(operation, message, extras);
req.logger.logInfo(operation, message, extras);
req.logger.logWarn(operation, message, extras);
req.logger.logException(operation, exception);
req.logger.logFatal(operation, exception);

Readme

Keywords

Package Sidebar

Install

npm i @gigads/logger-client

Weekly Downloads

5

Version

0.3.1

License

MIT

Unpacked Size

8.62 kB

Total Files

6

Last publish

Collaborators

  • rrr3da
  • gigadesignstudio