Package Exports
- @spot-meetings/backend-logger
- @spot-meetings/backend-logger/lib/index.js
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
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. -->