Open sontt710 opened 2 weeks ago
I will take a look. However, log4j 1.x is no longer supported by most due to security risks. Try to move to log4j 2.x.
It may be due to the way we are setting the region, based on what I can see from the error.
Can you try configuring your region to "US_EAST_1
" instead of "us-east-1
"?
The values are documented here: https://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/regions/Regions.html#US_EAST_1
Hi @bluedenim ,
Thanks your responses, I tried to set region but it's still error
Unexpected problem occured during version sanity check
Reported exception:
java.lang.NullPointerException
at org.slf4j.LoggerFactory.versionSanityCheck(LoggerFactory.java:272)
at org.slf4j.LoggerFactory.performInitialization(LoggerFactory.java:126)
at org.slf4j.LoggerFactory.getILoggerFactory(LoggerFactory.java:417)
at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:362)
at org.apache.commons.logging.impl.SLF4JLogFactory.getInstance(SLF4JLogFactory.java:155)
at org.apache.commons.logging.impl.SLF4JLogFactory.getInstance(SLF4JLogFactory.java:132)
at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:657)
at com.amazonaws.regions.RegionUtils.
log4j:WARN Failed to set property [s3Region] to value "AP_SOUTHEAST_1".
java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.apache.log4j.config.PropertySetter.setProperty(PropertySetter.java:245)
at org.apache.log4j.config.PropertySetter.setProperty(PropertySetter.java:204)
at org.apache.log4j.config.PropertySetter.setProperties(PropertySetter.java:169)
at org.apache.log4j.config.PropertySetter.setProperties(PropertySetter.java:104)
Caused by: java.lang.ExceptionInInitializerError
at com.amazonaws.regions.Region.getRegion(Region.java:60)
at com.van.logging.aws.S3Configuration.resolveRegion(S3Configuration.java:206)
at com.van.logging.aws.S3Configuration.setRegion(S3Configuration.java:125)
at com.van.logging.log4j.Log4jAppender.setS3Region(Log4jAppender.java:148)
... 27 more
Caused by: java.lang.NullPointerException
at org.slf4j.LoggerFactory.getILoggerFactory(LoggerFactory.java:423)
at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:362)
at org.apache.commons.logging.impl.SLF4JLogFactory.getInstance(SLF4JLogFactory.java:155)
at org.apache.commons.logging.impl.SLF4JLogFactory.getInstance(SLF4JLogFactory.java:132)
at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:657)
at com.amazonaws.regions.RegionUtils.
This is full Error when I run a job
Unexpected problem occured during version sanity check
Reported exception:
java.lang.NullPointerException
at org.slf4j.LoggerFactory.versionSanityCheck(LoggerFactory.java:272)
at org.slf4j.LoggerFactory.performInitialization(LoggerFactory.java:126)
at org.slf4j.LoggerFactory.getILoggerFactory(LoggerFactory.java:417)
at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:362)
at org.apache.commons.logging.impl.SLF4JLogFactory.getInstance(SLF4JLogFactory.java:155)
at org.apache.commons.logging.impl.SLF4JLogFactory.getInstance(SLF4JLogFactory.java:132)
at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:657)
at com.amazonaws.regions.RegionUtils.
My guess is that you have a newer version of aws-java-sdk-s3 than the one I built with, and the way to set the region is now incompatible with how I did it.
The Log4j 1.x code is no longer supported, but I will take a look next week if I have time.
thanks @bluedenim
I didn't use any of the Spark libraries. However, I did run into a problem with a test program I had using:
<dependency>
<groupId>com.therealvan</groupId>
<artifactId>appender-log4j</artifactId>
<version>2.8.4</version>
...
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
<dependency>
<groupId>com.amazonaws</groupId>
<artifactId>aws-java-sdk-s3</artifactId>
<version>1.12.772</version>
</dependency>
The error I got was:
java.lang.NoClassDefFoundError: com/fasterxml/jackson/core/util/JacksonFeature
After adding this dependency to my sample program, however, things work with the region value "us-west-2":
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.17.1</version>
</dependency>
So see if adding com.fasterxml.jackson.core:jackson-core:2.17.1 works for you.
I am trying to use Log4j 1.x to send logs to S3, but I am encountering the following error. I am using the following jar files in the classpath:
Jar
-rw-r--r-- 1 root root 43082 Feb 22 2021 appender-core-2.8.4.jar -rw-r--r-- 1 root root 11054 Feb 22 2021 appender-log4j-2.8.4.jar -rw-r--r-- 1 root root 489884 Oct 3 16:28 log4j-1.2.17.jar -rw-r--r-- 1 root root 41472 Oct 3 16:28 slf4j-api-1.7.30.jar -rw-r--r-- 1 root root 12188 Jul 20 2021 slf4j-log4j12-1.7.32.jar -rw-r--r-- 1 root root 12415771 May 27 2016 aws-java-sdk-1.7.15.jar -rw-r--r-- 1 root root 1054212 Oct 3 12:31 aws-java-sdk-core-1.12.772.jar -rw-r--r-- 1 root root 1275778 Sep 11 05:02 aws-java-sdk-s3-1.12.772.jar -rw-r--r-- 1 root root 9692 Oct 3 16:28 aws-sdk-java-2.20.101.jar
Env
Error
Unexpected problem occured during version sanity check Reported exception: java.lang.NullPointerException at org.slf4j.LoggerFactory.versionSanityCheck(LoggerFactory.java:272) at org.slf4j.LoggerFactory.performInitialization(LoggerFactory.java:126)
log4j:WARN Failed to set property [s3Region] to value "us-east-1". java.lang.reflect.InvocationTargetException at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
Caused by: java.lang.ExceptionInInitializerError at com.amazonaws.regions.Region.getRegion(Region.java:60) at com.van.logging.aws.S3Configuration.resolveRegion(S3Configuration.java:176) at com.van.logging.aws.S3Configuration.setRegion(S3Configuration.java:117) at com.van.logging.log4j.Log4jAppender.setS3Region(Log4jAppender.java:146) ... 27 more Caused by: java.lang.NullPointerException at org.slf4j.LoggerFactory.getILoggerFactory(LoggerFactory.java:423) at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:362) at org.apache.commons.logging.impl.SLF4JLogFactory.getInstance(SLF4JLogFactory.java:155) at org.apache.commons.logging.impl.SLF4JLogFactory.getInstance(SLF4JLogFactory.java:132) at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:657) at com.amazonaws.regions.RegionUtils.(RegionUtils.java:53)
... 31 more
Exception in thread "main" java.lang.ExceptionInInitializerError
at com.van.logging.aws.AwsClientHelpers.getCredentialsProvider(AwsClientHelpers.java:21)
at com.van.logging.aws.AwsClientHelpers.buildClient(AwsClientHelpers.java:69)
at com.van.logging.aws.S3PublishHelper.(S3PublishHelper.java:51)
at com.van.logging.log4j.Log4jAppender.createCachePublisher(Log4jAppender.java:354)
at com.van.logging.log4j.Log4jAppender.initStagingLog(Log4jAppender.java:33
Caused by: java.lang.NullPointerException at org.slf4j.LoggerFactory.getILoggerFactory(LoggerFactory.java:423) at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:362) at org.apache.commons.logging.impl.SLF4JLogFactory.getInstance(SLF4JLogFactory.java:155) at org.apache.commons.logging.impl.SLF4JLogFactory.getInstance(SLF4JLogFactory.java:132)