florian norbert bepunkt
florian norbert bepunkt

Reputation: 2539

Middy onError not called

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

Answers (1)

will Farrell
will Farrell

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

Related Questions