https://github.com/ehmpathy/simple-log-methods
a simple and opinionated logging library. plays well with aws lambda + cloudwatch.
https://github.com/ehmpathy/simple-log-methods
Last synced: 2 months ago
JSON representation
a simple and opinionated logging library. plays well with aws lambda + cloudwatch.
- Host: GitHub
- URL: https://github.com/ehmpathy/simple-log-methods
- Owner: ehmpathy
- Created: 2019-11-22T13:43:28.000Z (about 6 years ago)
- Default Branch: main
- Last Pushed: 2025-06-25T06:13:14.000Z (7 months ago)
- Last Synced: 2025-06-25T07:22:17.966Z (7 months ago)
- Language: TypeScript
- Size: 310 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: readme.md
- Changelog: changelog.md
Awesome Lists containing this project
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`, and `log.error`
- 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` and `console.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
```ts
// e.g., in `src/utils/log.ts
import { generateLogMethods } from 'simple-log-methods';
export const log = generateLogMethods();
```
### use in code
```ts
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)
```