2.3.0 • Published 2 years ago

@spot-meetings/backend-logger v2.3.0

Weekly downloads
-
License
MIT
Repository
github
Last release
2 years ago

@spot-meetings/backend-logger

Simple console logger based on Winston.

Installation

npm i @spot-meetings/backend-logger

Usage

Environments

The environment will be taken from either the RUNTIME_ENV or NODE_ENV env variables, in that order. This allows you to have different build and running environments.

Log Level

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.

As this module is just a pre-configured instance of Winston, please refer to their usage documentation for more details.

Log Output

To set different output types, set the LOG_OUTPUT env var to any of the following:

  • summary: Just the log message with a timestamp and a label.
  • details: The above plus detailed information about the log message in JSON format, pretty printed.
  • raw: The raw, inline JSON message.

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"
}

API Docs

Please visit the documentation page for more information. -->

2.3.0

2 years ago

2.2.3

3 years ago

2.2.2

3 years ago

2.2.5

3 years ago

2.2.4

3 years ago

2.2.0

3 years ago

2.0.1

3 years ago

2.0.0

3 years ago

1.0.1

3 years ago

1.0.0

3 years ago