jlib AWS Lambda Logback Appender 允许您将 SLF4J 与 AWS Lambda 函数中的 Logback 结合使用。
只需添加以下依赖项:
Gradle (build.gradle)
dependencies {
implementation 'org.slf4j:slf4j-api:1.8.0-beta2'
runtimeOnly 'org.jlib:jlib-awslambda-logback:1.0.0'
}
梅文(绒球.xml)
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.8.0-beta2</version>
</dependency>
<dependency>
<groupId>org.jlib</groupId>
<artifactId>jlib-awslambda-logback</artifactId>
<version>1.0.0</version>
<scope>runtime</scope>
</dependency>
然后在日志记录配置中使用 :AwsLambdaAppender
示例 XML 配置(src/main/resources/logback.xml)
<configuration>
<appender name="awslambda" class="org.jlib.cloud.aws.lambda.logback.AwsLambdaAppender">
<encoder type="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<pattern>[%d{yyyy-MM-dd HH:mm:ss.SSS}] <%-36X{AWSRequestId:-request-id-not-set-by-lambda-runtime}>
%-5level %logger{10} - %msg%n</pattern>
</encoder>
</appender>
<root level="INFO">
<appender-ref ref="awslambda" />
</root>
</configuration>
与其他解决方案不同,此 Logback 追加器可正确处理多行日志消息(尤其是堆栈跟踪),并且每条消息仅生成一个 CloudWatch Logs 事件。
该库还允许您在每个日志消息中包含 AWS Lambda 运行时提供的 AWSRequestId,以便更好地进行跟踪。
虽然 log4j2 在创建 uber-jar 时需要在构建中进行额外的处理,但此解决方案开箱即用。
免責聲明:我是 jlib 的开发者