将log4j2与AWS Lambda一起使用

问题描述 投票:0回答:1

我尝试将AWS Lambda与log4j2结合使用时遇到以下错误。我遵循了在https://github.com/aws/aws-lambda-java-libs/tree/master/aws-lambda-java-log4j2

错误StatusLogger找不到log4j2配置文件。使用默认配置:仅将错误记录到控制台。将系统属性'org.apache.logging.log4j.simplelog.StatusLogger.level'设置为TRACE,以显示Log4j2内部初始化日志记录。

有人可以帮忙吗?

amazon-web-services aws-lambda log4j2
1个回答
0
投票

我能够使它正常工作-让您查看设置的不同之处。我的Lambda处理程序看起来像:

import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;

public class LambdaHandler {
    private static final Logger logger = LogManager.getLogger(LambdaHandler.class);

    // your handler entry point may be different but that shouldn't matter
    public void handleRequest(InputStream inputStream, OutputStream outputStream, Context context) {
    }
}

我的pom.xml中的依赖项是:亚马逊aws-lambda-java-core1.2.0

    <dependency>
        <groupId>com.amazonaws</groupId>
        <artifactId>aws-lambda-java-log4j2</artifactId>
        <version>1.1.0</version>
    </dependency>
    <dependency>
        <groupId>org.apache.logging.log4j</groupId>
        <artifactId>log4j-core</artifactId>
        <version>2.13.0</version>
    </dependency>
    <dependency>
        <groupId>org.apache.logging.log4j</groupId>
        <artifactId>log4j-api</artifactId>
        <version>2.13.0</version>
    </dependency>

    <dependency>
        <groupId>com.github.edwgiz</groupId>
        <artifactId>maven-shade-plugin.log4j2-cachefile-transformer</artifactId>
        <version>2.8.1</version>
    </dependency>

并且阴影插件的build/plugins部分是:

        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-shade-plugin</artifactId>
            <version>3.2.2</version>
            <configuration>
                <createDependencyReducedPom>false</createDependencyReducedPom>
                <transformers>
                    <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
                        <manifestEntries>
                            <Multi-Release>true</Multi-Release>
                        </manifestEntries>
                    </transformer>
                    <transformer
                            implementation="com.github.edwgiz.mavenShadePlugin.log4j2CacheTransformer.PluginsCacheFileTransformer">
                    </transformer>
                </transformers>
            </configuration>
            <executions>
                <execution>
                    <phase>package</phase>
                    <goals>
                        <goal>shade</goal>
                    </goals>
                </execution>
            </executions>
            <dependencies>
                <dependency>
                    <groupId>com.github.edwgiz</groupId>
                    <artifactId>maven-shade-plugin.log4j2-cachefile-transformer</artifactId>
                    <version>2.8.1</version>
                </dependency>
            </dependencies>
        </plugin>

当我的Lambda启动时,我收到消息:

WARNING: sun.reflect.Reflection.getCallerClass is not supported. This will impact performance.

我已经对此进行了搜索,但还无法修复。但是,似乎没有任何伤害。

© www.soinside.com 2019 - 2024. All rights reserved.