我正在尝试编写一个基于java的lambda函数。除了伐木,一切都很好。我在类路径中有log4j2.xml文件。
我也遵循了Java中的AWS Lambda LOgging中所规定的对单词的指示。
当我触发Lambda函数时,我在日志中得到了这个。
Log4j:没有为记录器(com.amazonaws.AmazonWebServiceClient)找到任何附加程序。log4j :警告请正确初始化log4j系统。Log4j:警告参见http://logging.apache.org/log4j/1.2/faq.html#noconfig以获得更多信息。
我用maven包装这个罐子。pom.xml具有以下依赖项。
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.amazon.alexa</groupId>
<artifactId>alexa-skills-kit</artifactId>
<version>${alexa.version}</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.4</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.apache.directory.studio</groupId>
<artifactId>org.apache.commons.io</artifactId>
<version>2.4</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.amazonaws</groupId>
<artifactId>aws-lambda-java-core</artifactId>
<version>1.0.0</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.amazonaws</groupId>
<artifactId>aws-java-sdk-dynamodb</artifactId>
<version>1.9.40</version>
</dependency>
<dependency>
<groupId>com.amazonaws</groupId>
<artifactId>aws-lambda-java-log4j2</artifactId>
<version>1.0.0</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>2.8.2</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
<version>2.8.2</version>
</dependency>
我不知道我还必须做些什么才能使这件事成功。
发布于 2018-04-23 05:03:24
请注意,java中的lambda日志记录的AWS文档中存在/曾经有一个错误。我已经向github推了一个补丁,但同时请看我对另一个帖子的回答,这可能是您所需要的。
从.LambdaAppender标记的packages属性中删除<Configuration ...
请参阅另一个堆栈溢出问题
发布于 2018-03-01 13:36:03
该错误消息是由类路径上的Log4j (1.2.x)的旧版本产生的。Log4j 2.x错误消息看起来不同。
请从类路径中删除Log4j 1.2.x jar。如果任何库都依赖于Log4j 1.2,则添加适配器log4j-1.2-api-2.8.2.jar。
发布于 2019-05-26 09:28:38
在创建Alexa技能时,它的依赖项已经包含了log4j组件,但是锁定了Log4j附录。将aws-lambda-java-log4j2添加到依赖项中:
Maven
<dependency>
<groupId>com.amazonaws</groupId>
<artifactId>aws-lambda-java-log4j2</artifactId>
<version>1.1.0</version>
</dependency>级:
dependencies {
compile 'com.amazonaws:aws-lambda-java-log4j2:1.1.0'
}误差变体
没有找到log4j2配置文件。使用默认配置:只将错误记录到控制台。将系统属性'org.apache.logging.log4j.simplelog.StatusLogger.level‘设置为跟踪以显示Log4j2内部初始化日志记录。
添加:log4j2.xml (在测井基准中描述)到src/main/resources
StatusLogger Log4j2找不到日志记录实现。请在类路径中添加log4j核心。使用SimpleLogger登录到控制台
Add (与现有依赖项相同的版本):
dependencies {
compile 'com.amazonaws:aws-lambda-java-core:1.2.0'
compile 'org.apache.logging.log4j:log4j-core:2.8.2’
}没有找到log4j2配置文件。使用默认配置:只将错误记录到控制台。将系统属性'org.apache.logging.log4j.simplelog.StatusLogger.level‘设置为跟踪以显示Log4j2内部初始化日志记录。
添加:log4j2.xml (上文描述)到src/main/resources
错误处理元素Lambda (附录: null):CLASS_NOT_FOUND无法找到记录器配置"root“的附录"Lambda”
添加:
dependencies {
compile 'com.amazonaws:aws-lambda-java-log4j2:1.1.0'
}


https://stackoverflow.com/questions/49045086
复制相似问题