simple-leveled-log-methods
v0.4.1
Published
a simple and opinionated logging library. plays well with aws lambda + cloudwatch.
Downloads
1,228
Maintainers
Readme
simple-leveled-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-leveled-log-methods
usage
init
// e.g., in `src/utils/log.ts
import { generateLogMethods } from 'simple-leveled-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)