dynamodb 本地:错误 StatusLogger Log4j2 找不到日志记录实现
dynamodb local: ERROR StatusLogger Log4j2 could not find a logging implementation
这是我第一次遇到这个问题,我在 Linux 和 Mac 上使用本地 DynamoDB,大部分时间都运行良好,现在我在不同的 Mac 机器,它只是抛出一个错误。
我收到的错误消息是:
ERROR StatusLogger Log4j2 could not find a logging implementation.
Please add log4j-core to the classpath. Using SimpleLogger to log to the console...
我尝试通过自制软件安装它,但它抛出了同样的错误。我可能在我的机器上搞砸了一些东西或者可能错过了一些配置。
下面是我尝试 运行 时的截图:
参考:
Dynamo 数据库本地:https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/DynamoDBLocal.html
zip 版本似乎已损坏。您可以下载 .rar 文件,它会起作用。 .rar 在 DynamoDBLocal_lib 文件夹中有 log4j-core-2.8.jar 和 Log4j-api-2.x.jar,它对我有用。
我刚刚遇到了完全相同的问题。我尝试了 tar 和来自欧洲(法兰克福)地区的 zip 文件。问题仍然存在。我可以在类路径中看到 log4j-core 包,但不知何故它没有被拾取。不确定其他 AWS 区域是否也已损坏。
我通过请我的一位同事共享他的 DynamoDB 文件夹解决了这个问题。他几个月前下载了它,效果非常好。
解决方法:AWS需要修复包,不然看能不能请同事帮忙解决。
我如何让它工作的是执行以下操作:
将 jar 文件的内容解压到一个单独的文件夹
jar xf DynamoDBLocal_Orig.jar
将以下内容添加到 pom.xml
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-to-slf4j</artifactId>
<version>${log4j.version}</version>
</dependency
编辑META-INF/MANIFEST.MF 文件并添加
DynamoDBLocal_lib/log4j-core-2.13.3.jar
压缩到一个新的 jar
jar cmvf META-INF/MANIFEST.MF DynamoDBLocal.jar *
将 DynamoDBLocal.jar 从基本文件夹重命名为 DynamoDBLocal_old.jar
将新创建的 DynamoDBLocal.jar 移动到基本文件夹。
从 https://mvnrepository.com/artifact/org.apache.logging.log4j/log4j-core/2.13.3
下载 log4j-core-2.13.3.jar
将 log4j-core-2.13.3.jar 放入 DynamoDBLocal_lib 文件夹
运行
java -Djava.library.path=./DynamoDBLocal_lib -jar DynamoDBLocal.jar -sharedDb
根据this AWS Support Forum response by an AWS person,此问题不会影响 DynamoDB 本地实例的工作。
他们确实打算修复它,以便不显示消息,但这不会造成功能上的差异。
我还没有设法让我的本地实例正常工作,但可能还有其他 un-associated 问题。
这是我第一次遇到这个问题,我在 Linux 和 Mac 上使用本地 DynamoDB,大部分时间都运行良好,现在我在不同的 Mac 机器,它只是抛出一个错误。
我收到的错误消息是:
ERROR StatusLogger Log4j2 could not find a logging implementation.
Please add log4j-core to the classpath. Using SimpleLogger to log to the console...
我尝试通过自制软件安装它,但它抛出了同样的错误。我可能在我的机器上搞砸了一些东西或者可能错过了一些配置。
下面是我尝试 运行 时的截图:
参考:
Dynamo 数据库本地:https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/DynamoDBLocal.html
zip 版本似乎已损坏。您可以下载 .rar 文件,它会起作用。 .rar 在 DynamoDBLocal_lib 文件夹中有 log4j-core-2.8.jar 和 Log4j-api-2.x.jar,它对我有用。
我刚刚遇到了完全相同的问题。我尝试了 tar 和来自欧洲(法兰克福)地区的 zip 文件。问题仍然存在。我可以在类路径中看到 log4j-core 包,但不知何故它没有被拾取。不确定其他 AWS 区域是否也已损坏。
我通过请我的一位同事共享他的 DynamoDB 文件夹解决了这个问题。他几个月前下载了它,效果非常好。
解决方法:AWS需要修复包,不然看能不能请同事帮忙解决。
我如何让它工作的是执行以下操作:
将 jar 文件的内容解压到一个单独的文件夹
jar xf DynamoDBLocal_Orig.jar
将以下内容添加到 pom.xml
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-to-slf4j</artifactId>
<version>${log4j.version}</version>
</dependency
编辑META-INF/MANIFEST.MF 文件并添加
DynamoDBLocal_lib/log4j-core-2.13.3.jar
压缩到一个新的 jar
jar cmvf META-INF/MANIFEST.MF DynamoDBLocal.jar *
将 DynamoDBLocal.jar 从基本文件夹重命名为 DynamoDBLocal_old.jar
将新创建的 DynamoDBLocal.jar 移动到基本文件夹。
从 https://mvnrepository.com/artifact/org.apache.logging.log4j/log4j-core/2.13.3
下载 log4j-core-2.13.3.jar将 log4j-core-2.13.3.jar 放入 DynamoDBLocal_lib 文件夹
运行
java -Djava.library.path=./DynamoDBLocal_lib -jar DynamoDBLocal.jar -sharedDb
根据this AWS Support Forum response by an AWS person,此问题不会影响 DynamoDB 本地实例的工作。
他们确实打算修复它,以便不显示消息,但这不会造成功能上的差异。
我还没有设法让我的本地实例正常工作,但可能还有其他 un-associated 问题。