logs-dump
v1.7.5
Published
Dump events and errors as logs
Readme
logs-dump
Overview
logs-dump is a lightweight Node.js module designed to streamline error handling in asynchronous code blocks, especially within try-catch statements. It simplifies capturing and logging errors from promises, async/await functions, and callback-based functions, ensuring consistent error management and reducing boilerplate.
Features
- Unified Error Handling: Wraps asynchronous functions and code blocks to catch errors automatically.
- Custom Logging: Integrates seamlessly with popular logging libraries like
console,pino, or custom loggers. - Promise Support: Handles promise rejections without the need for explicit
.catch()chaining. - Callback Support: Wraps callback-based functions to catch runtime errors.
- Configurable: Customize error messages and log formats.
Installation
Using NPM:
$ npm install logs-dump
Using Yarn:
CopyRun
$ yarn add logs-dump
Usage
Basic Usage with Async/Await
CopyRun
const { catchAsync } = require('logs-dump')
async function fetchData() {
// Simulate an async operation that may throw
throw new Error('Failed to fetch data')
}
async function main() {
await catchAsync(async () => {
const data = await fetchData()
console.log('Data:', data)
}, { logger: console, message: 'Error fetching data' })
}
main()
Wrapping Callback Functions
CopyRun
const { catchCallback } = require('logs-dump')
function someAsyncOperation(callback) {
// Simulate error
callback(new Error('Callback error'))
}
catchCallback(someAsyncOperation, { logger: console, message: 'Callback failed' })((err, result) => {
if (err) return
console.log('Result:', result)
})
Custom Logging
CopyRun
const logger = require('pino')()
await catchAsync(async () => {
// your code
}, { logger, message: 'An error occurred during process' })
API
catchAsync(asyncFunction, options)
Runs an async function and catches errors, logging them as specified.
asyncFunction: An async function or function returning a promise.
options: Configuration object.
logger: Logger instance (default: console).
message: Custom message for logs.
errorFormatter: Function to format error object.
catchCallback(callbackFunction, options)
Wraps a callback-based function to catch runtime errors.
callbackFunction: Function expecting a callback.
options: Same as above.
Contributing
Contributions are welcome! Please read the CONTRIBUTING.md for details.
License
Licensed under the MIT License. See LICENSE for details.