我在代码中使用了以下配置,但是没有生成云监视日志。主/资源中存在Log4j2.xml。我正在跟踪AWS文档和一些堆栈溢出,但我没有得到日志,它说-
云监视日志
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
START RequestId: e36-c827-46-93-a7 Version: $LATEST
Transforming org/apache/logging/log4j/core/lookup/JndiLookup (lambdainternal.CustomerClassLoader@433d)
2022-03-07T16:01:51.527+05:30 2022-03-07 10:31:51,526 main ERROR Error processing element Lambda ([Appenders: null]): CLASS_NOT_FOUND
2022-03-07T16:01:51.626+05:30 2022-03-07 10:31:51,626 main ERROR Unable to locate appender "Lambda" for logger config "root"Log4j2.xml
<?xml version="1.0" encoding="UTF-8"?>
<Configuration packages="com.amazonaws.services.lambda.runtime.log4j2" status="WARN">
<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="INFO">
<AppenderRef ref="Lambda" />
</Root>
<Logger name="software.amazon.awssdk" level="WARN" />
<Logger name="software.amazon.awssdk.request" level="DEBUG" />
</Loggers>
</Configuration>使用的级依赖关系:
implementation 'org.apache.logging.log4j:log4j-api:2.17.2'
implementation 'org.apache.logging.log4j:log4j-core:2.17.2'
runtimeOnly 'org.apache.logging.log4j:log4j-slf4j18-impl:2.17.0'
runtimeOnly 'com.amazonaws:aws-lambda-java-log4j2:1.5.1'服务类日志声明
@Slf4j
public class ABC {
public void method1(){
log.info(" HELLO WORLD ________ ");
}
}请帮帮忙。
发布于 2022-03-07 11:35:32
或者,您可以使用上下文对象获得如下所示的记录器
import com.amazonaws.services.lambda.runtime.Context;
import com.amazonaws.services.lambda.runtime.LambdaLogger;
import com.amazonaws.services.lambda.runtime.RequestHandler;
public class MyClass implements RequestHandler<Map<String, Object>, Void> {
@Override
public Void handleRequest(Map<String, Object> inputRequest, Context context) {
LambdaLogger logger = context.getLogger();
logger.log("Hello ");
}}发布于 2022-04-27 22:10:03
改变这几行:
runtimeOnly 'org.apache.logging.log4j:log4j-slf4j18-impl:2.17.0'
runtimeOnly 'com.amazonaws:aws-lambda-java-log4j2:1.5.1'至
implementation 'org.apache.logging.log4j:log4j-slf4j18-impl:2.17.0'
implementation 'com.amazonaws:aws-lambda-java-log4j2:1.5.1'帮我解决了这个问题
https://stackoverflow.com/questions/71380254
复制相似问题