@big-brains/kendra

0.0.4 • Public • Published

UNDER DEVELOPMENT: NOT READY FOR PRODUCTION.

Environment variables:

  • MONGO: If you want to use mongodb.
  • KENDRA: RabbitMq or any ampq compitible queue connection string.
  • LOG_LEVEL: Logging level, default: 4.
  • LOG_EXCHANGE: Exchange to which the logs must be published. Default: logs (no warning is shown if not provided.)

usage:

const kendra = require('@big-brains/kendra');

kendra('component-or-service-name')
.then(({ 
    rpc: { 
        on,
        call,
        broadcast,
        newsOn
    },
    log: {
        get
    },
    dbAction
  }) => {
      
      const {
        trace,
        debug,
        info,
        warn,
        error,
        fatal, 
      } = get('subcomponent-or-subsection-name');

      // DO YOUR THING!
  });

A word on log level

  RANK Level  Description
  6    TRACE  Designates finer-grained informational events than the DEBUG.
  5    DEBUG  Designates fine-grained informational events that are most
              useful to debug an application.
  4    INFO   Designates informational messages that highlight the progress
              of the application at coarse-grained level.
  3    WARN   Designates potentially harmful situations.
  2    ERROR  Designates error events that might still allow the application to continue running.
  1    FATAL  Designates very severe error events that will presumably lead the application to abort.
  0    OFF    The highest possible rank and is intended to turn off logging.
  
  TRACE < DEBUG < INFO < WARN < ERROR < FATAL < OFF
  
  Example:
  If log level is set to 4, then FATAL, ERROR, WARN and INFO are enabled. 
  Same way, if log level is set to 2, then FATAL and ERROR are enabled.

usage (log):

/* Assume its just below DO YOUR THING! (see above usage example) */

trace('message in string', { any: { mata: 'data can go here' }});

Error index:

FATAL

  • 100: Set KENDRA environment variable to RabbitMq or any ampq compitible queue connection string to initialize kendra. Exiting.
  • 101: Set MONGO environment variable to use dbAction. Exiting.
  • 102: Some error in module initialization state machine. Exiting.

(above errors will not be available on ampq logs.)

  • 103: MONGO MUST have a connection string with inline db, db MUST provided at {{db}}. Eg. mongodb://127.0.0.1:27017/{{db}}

ERROR

  • 200: Failed to execute dbAction (along with actual error)

WARN

  • 300: LOG_LEVEL environment variable unset. Default log level set to 4 (info)
  • 301: Connection was closed. New connection will be created in next attempt. All happened because of

INFO

  • 401: New connection created

Happy coding!

Dependencies (3)

Dev Dependencies (3)

Package Sidebar

Install

npm i @big-brains/kendra

Weekly Downloads

1

Version

0.0.4

License

MIT

Last publish

Collaborators

  • daveamit