gpt4 book ai didi

java - 在 aws lambda 上使用 Log4J2 进行记录 - 找不到类

转载 作者:搜寻专家 更新时间:2023-10-31 19:31:55 24 4
gpt4 key购买 nike

我正在尝试使用 AWS 文档中所述的 Log4J2 日志记录:

https://docs.aws.amazon.com/lambda/latest/dg/java-logging.html#java-wt-logging-using-log4j2.8

<?xml version="1.0" encoding="UTF-8"?>
<Configuration packages="com.amazonaws.services.lambda.runtime.log4j2.LambdaAppender">
<Appenders>
<Lambda name="Lambda">
<PatternLayout>
<pattern>%d{yyyy-MM-dd HH:mm:ss} %X{AWSRequestId} %-5p %c{1}:%L - %m%n</pattern>
</PatternLayout>
</Lambda>
</Appenders>
<Loggers>
<Root level="debug">
<AppenderRef ref="Lambda" />
</Root>
</Loggers>
</Configuration>

错误但是,我在运行 lambda 时遇到以下错误:(我删除了下面的时间戳以提高可读性)

ERROR Error processing element Lambda ([Appenders: null]): CLASS_NOT_FOUND
ERROR Unable to locate appender "Lambda" for logger config "root"

尝试过我确保 log4J 库和 log4j-corelog4j-apiaws-lambda-java-log4j2aws- lamda-java-core 都在包里。

最佳答案

我也遇到过这个问题。事实证明,AWS 示例文档中存在拼写错误。

packages<Configuration ..标记错误。

根据log4j plugin configuration docs packages参数是一个包而不是一个类。

因此将您的 log4j2.xml 配置修改为...

<?xml version="1.0" encoding="UTF-8"?>
<Configuration packages="com.amazonaws.services.lambda.runtime.log4j2">
<Appenders>
<Lambda name="Lambda">
<PatternLayout>
<pattern>%d{yyyy-MM-dd HH:mm:ss} %X{AWSRequestId} %-5p %c{1}:%L - %m%n</pattern>
</PatternLayout>
</Lambda>
</Appenders>
<Loggers>
<Root level="debug">
<AppenderRef ref="Lambda" />
</Root>
</Loggers>
</Configuration>

关于java - 在 aws lambda 上使用 Log4J2 进行记录 - 找不到类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49973441/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com