Reputation: 2539
I'm using lambda powertools and middy for cross-cutting concerns. I have a simple error middleware
export const errorLogger = ({ logger }: { logger: Logger }): middy.MiddlewareObj => {
const onError = async (request: middy.Request) => {
console.log("ERROR LOGGER MIDDLEWARE CALLED");
const error = request.error === null ? new Error("An unknown error occured.") : request.error;
logger.error(`Error occured: ${error.message}`, error);
};
return { onError };
};
The logger above comes from lambda powertools and is a JSON logger. However when the lambda throws an error, this middleware is never called / used. Not even the console.log shows up on CloudFront.
Upvotes: 0
Views: 504
Reputation: 1759
You could use the provided error logger, @middy/error-logger
(https://middy.js.org/docs/middlewares/error-logger), or use it as a starting point for your own custom one (https://github.com/middyjs/middy/blob/main/packages/error-logger/index.js).
Upvotes: 0