问题
This is the first time that this issue has occurred to me, I have used DynamoDB local on Linux and Mac and most of the time it worked fine, and now I'm on a different Mac machine, it just throws an error.
The error message that I got was:
ERROR StatusLogger Log4j2 could not find a logging implementation.
Please add log4j-core to the classpath. Using SimpleLogger to log to the console...
I tried installing it via homebrew, but it's throwing the same error. I may have messed up something in my machine or may have missed some configuration.
Below is the screenshot from when I have tried to run it:
Reference:
Dynamo DB Local: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/DynamoDBLocal.html
回答1:
According to this AWS Support Forum response by an AWS person this problem doesn't affect the working of the DynamoDB local instance.
They do intend to fix it so that the messages isn't displayed but it doesn't make a functional difference.
I haven't yet managed to make my local instance work but there may be other, un-associated, issues with that.
回答2:
It seems like zip versions are corrupted. You can download .rar file, it will work. .rar has log4j-core-2.8.jar along with Log4j-api-2.x.jar inside the DynamoDBLocal_lib folder and it is working for me.
回答3:
I just had exactly the same problem. I tried both the tar and the zip file from Europe (frankfurt) region. The problem persisted. I can see the log4j-core package in the classpath, but somehow it doesn't get picked up. Not sure if the other AWS regions are corrupted too.
I solved it by asking a colleague of mine to share his DynamoDB folder. He downloaded it a few months ago, and it's working like a charm.
Solution: AWS needs to fix the package, otherwise see if you can ask a colleague to help you out.
回答4:
How I got this to work is to do the following:
Extract the contents of the jar file to a seperate folder
jar xf DynamoDBLocal_Orig.jar
Add the following to the pom.xml
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-to-slf4j</artifactId>
<version>${log4j.version}</version>
</dependency
Edit the META-INF/MANIFEST.MF file and add
DynamoDBLocal_lib/log4j-core-2.13.3.jar
Compress to a new jar
jar cmvf META-INF/MANIFEST.MF DynamoDBLocal.jar *
Rename DynamoDBLocal.jar from the base folder to DynamoDBLocal_old.jar
Move the newly created DynamoDBLocal.jar to the base folder.
Download the log4j-core-2.13.3.jar from https://mvnrepository.com/artifact/org.apache.logging.log4j/log4j-core/2.13.3
Place the log4j-core-2.13.3.jar inside the DynamoDBLocal_lib folder
Run
java -Djava.library.path=./DynamoDBLocal_lib -jar DynamoDBLocal.jar -sharedDb
来源:https://stackoverflow.com/questions/64549078/dynamodb-local-error-statuslogger-log4j2-could-not-find-a-logging-implementatio