首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Log4j2 ++云监视日志

Log4j2 ++云监视日志
EN

Stack Overflow用户
提问于 2022-03-07 11:18:06
回答 2查看 1.2K关注 0票数 -1

我在代码中使用了以下配置,但是没有生成云监视日志。主/资源中存在Log4j2.xml。我正在跟踪AWS文档和一些堆栈溢出,但我没有得到日志,它说-

云监视日志

代码语言:javascript
复制
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

代码语言:javascript
复制
<?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>

使用的级依赖关系:

代码语言:javascript
复制
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'

服务类日志声明

代码语言:javascript
复制
@Slf4j
public class ABC {
        
    public void method1(){
        log.info(" HELLO WORLD  ________ ");
    }
}

请帮帮忙。

EN

回答 2

Stack Overflow用户

发布于 2022-03-07 11:35:32

或者,您可以使用上下文对象获得如下所示的记录器

代码语言:javascript
复制
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 ");
}}
票数 0
EN

Stack Overflow用户

发布于 2022-04-27 22:10:03

改变这几行:

代码语言:javascript
复制
runtimeOnly 'org.apache.logging.log4j:log4j-slf4j18-impl:2.17.0'    
runtimeOnly 'com.amazonaws:aws-lambda-java-log4j2:1.5.1'

代码语言:javascript
复制
implementation 'org.apache.logging.log4j:log4j-slf4j18-impl:2.17.0'
implementation 'com.amazonaws:aws-lambda-java-log4j2:1.5.1'

帮我解决了这个问题

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71380254

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档