JSPM

@spot-meetings/backend-logger

1.0.1
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 41
  • Score
    100M100P100Q71962F
  • License MIT

Spot's backend logger module.

Package Exports

  • @spot-meetings/backend-logger

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@spot-meetings/backend-logger) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

@spot-meetings/backend-logger

Simple console logger based on Winston.

Installation

npm i @spot-meetings/backend-logger

Usage

Service should run with LOG_LEVEL environment variable set:

$ LOG_LEVEL=info node index.js

Then, the logger will log anything that has lower priority than the LOG_LEVEL env variable:

Read more about Winston's log levels to know what will be logged depending on your LOG_LEVEL env variable.

Example

./some/module.ts:

import { createLogger } from '@spot-meetings/backend-logger'

const logger = createLogger('my-service', '127.0.0.1', '1.0.1')

logger.debug('This is not necessary on production.', { hello: 'world' }) // Will not log
logger.info('This is very informational.')
logger.warn('Beware! You\'re about to do a thing.')
logger.error('IT FAILED!')
logger.error('IT FAILED! SEE DETAILS:', {
  extra: 'Yeah, it was bad...',
  error // error object. will log stack as well into stack log property
})

Sample Debug Log

{
   "level":"warn",
   "message":"Consequatur ratione quas laudantium consequatur libero numquam molestiae autem vero.",
   "environment":"test",
   "type":"log",
   "reporter":{
      "version":"3.3.6",
      "id":"Intelligent Metal Soap",
      "ip":"104.145.61.188"
   },
   "timestamp":"2021-08-19T15:13:23.773Z"
}

Sample Error Log

{
   "level":"error",
   "message":"Reprehenderit dolorem recusandae consequatur.",
   "error":{

   },
   "stack":"Error: Reprehenderit dolorem recusandae consequatur.\\n    at Context.<anonymous> (/home/my-service/test/src/index.spec.ts:183:14)\\n    at callFn (/home/my-service/node_modules/mocha/lib/runnable.js:366:21)\\n    at Test.Runnable.run (/home/my-service/node_modules/mocha/lib/runnable.js:354:5)\\n    at Runner.runTest (/home/my-service/node_modules/mocha/lib/runner.js:680:10)\\n    at /home/my-service/node_modules/mocha/lib/runner.js:803:12\\n    at next (/home/my-service/node_modules/mocha/lib/runner.js:595:14)\\n    at /home/my-service/node_modules/mocha/lib/runner.js:605:7\\n    at next (/home/my-service/node_modules/mocha/lib/runner.js:488:14)\\n    at Immediate._onImmediate (/home/my-service/node_modules/mocha/lib/runner.js:573:5)\\n    at processImmediate (internal/timers.js:464:21)",
   "environment":"test",
   "type":"log",
   "reporter":{
      "version":"2.3.5",
      "id":"Tasty Concrete Towels",
      "ip":"240.132.132.180"
   },
   "timestamp":"2021-08-19T15:13:23.776Z"
}