使用aws-lambda-java-log4j2使用log4j2记录aws lambda处理程序异常

使用aws-lambda-java-log4j2使用log4j2记录aws lambda处理程序异常,aws-lambda,log4j2,Aws Lambda,Log4j2,我使用的是java lambda中建议的官方版本。我注意到,根记录器不会记录未捕获的异常。例如,此lambda使用log4j2记录“handler”,但不记录引发的异常: private static final logger = LogManager.getLogger(); public void handler() { log.info("handler"); throw new RuntimeException("error") } 调用此函数的日志包括log4j2 info消

我使用的是java lambda中建议的官方版本。我注意到,根记录器不会记录未捕获的异常。例如,此lambda使用log4j2记录“handler”,但不记录引发的异常:

private static final logger = LogManager.getLogger();
public void handler() {
  log.info("handler");
  throw new RuntimeException("error")
}
调用此函数的日志包括log4j2 info消息,但异常是以明文形式记录的,没有requestid、timestamp或
ERROR
标记

2019-10-07 11:39:02 43db1f36-0570-4b58-adc6-5c92ea62a862 INFO Example - handler
java.lang.RuntimeException: error
    at Test.main(Test.java:3)
在日志中查找异常比较困难,因为您无法grep请求id或
错误

在lambda中是否有使用log4j2根记录器发出日志的通用模式

我不想用try-catch-log-rethrow来包装我的处理程序

try {
  ...
} catch (Throwable t) {
  log.fatal(t);
  throw t;
}