Skip to content

Error of handler is no longer printedΒ #890

Closed
@DirkRusche-Otto

Description

@DirkRusche-Otto

I noticed that starting with version 0.11.0 an error from a handler is no longer printed and not sent to CloudWatch logs.

The PR #845 states:

[...] Using the top-level run function should result in functionally (almost) equivalent code (except for some logging statements).

Reading this comment I guess the change in behavior is expected.
In case of an error, debugging the Lambda becomes way harder since there is no log message why and even that the Lambda failed.

Is there already a solution how to get the old behavior (error being logged) back?

How to reproduce

Example code

Example code to reproduce the issue

use lambda_runtime::{run, service_fn, LambdaEvent};
use serde::Deserialize;
use tracing::info;

#[derive(Deserialize)]
struct Request {}

#[tokio::main]
async fn main() -> Result<(), lambda_runtime::Error> {
    lambda_runtime::tracing::init_default_subscriber();

    run(service_fn(handler)).await
}

async fn handler(_event: LambdaEvent<Request>) -> anyhow::Result<()> {
    info!("hi from handler");

    Err(anyhow::Error::msg("This log message is printed nowhere"))
}

Version >=0.11.0

If I run it with (for example) version 0.11.2 and the commands cargo lambda watch and cargo lambda invoke --data-ascii "{}" gives me the output:

INFO Lambda runtime invoke{requestId="10c0a11b-602d-418a-aff1-8931c10fd234" xrayTraceId="Root=1-665f22b0-9ba7379721f58c9124e882ff;Parent=56d52e45d9740162;Sampled=1"}: hi from handler

Version 0.10.0

If I run it with version 0.10.0 I see the error:

INFO Lambda runtime invoke{requestId="aa50b9cc-4af9-44c4-a91b-f1d89d398e1b" xrayTraceId="Root=1-665f2357-b44fa3fc478ba6def2d07857;Parent=4a2a30e259041ad1;Sampled=1"}: hi from handler
ERROR Lambda runtime invoke{requestId="aa50b9cc-4af9-44c4-a91b-f1d89d398e1b" xrayTraceId="Root=1-665f2357-b44fa3fc478ba6def2d07857;Parent=4a2a30e259041ad1;Sampled=1"}: This log message is printed nowhere

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions