Package Exports
- simple-log-methods
- simple-log-methods/dist/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 (simple-log-methods) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
simple-log-methods
a simple and opinionated logging library. plays well with aws lambda + cloudwatch.
features
- distinguish different priorities of logs with standard levels
- i.e.,
log.debug
,log.info
,log.warn
, andlog.error
- i.e.,
- filter which levels of log to emit
- i.e., choose based on environment whether to emit all logs or skip some of the logs
- utilizes
console.warn
andconsole.log
under the hood- which ensures that the aws cloudwatch requestId is present on each log message automatically
- formats log metadata based on environment
- i.e., stringify in local environments to reduce visual noise
- i.e., don't stringify in aws-lambda environment for optimal cloudwatch parsing
installation
npm install --save simple-log-methods
usage
init
// e.g., in `src/utils/log.ts
import { generateLogMethods } from 'simple-log-methods';
export const log = generateLogMethods();
use in code
import { log } from '../utils/log';
log.error(`the sky is falling and we're loosing money!`, metadata); // use `.error` when you want someone to respond immediately, even if its 4am
log.warn(`this shouldn't be happening and should be looked at asap`, metadata); // use `.warn` when you want someone to look at it asap, but not wake up in the middle of the night
log.info(`we either want to or should keep track of this`, metadata); // use `.info` for anything we may be interested in knowing about
log.debug(`this will help debug if things go wrong`, metadata); // use this for any information that could help debug when things go wrong (e.g., request/response data)