使用log4j 2时获取log4j 1错误
我已经试过了: 当我将jar文件部署到docker映像时,我得到了一个log4j 1 appender错误,但当我在Eclipse中运行main方法时,没有看到这个错误 log4j:警告:找不到记录器的附加器(blah)。 log4j:警告请正确初始化log4j系统。 log4j:有关更多信息,请参阅警告 这是我的依赖项使用log4j 2时获取log4j 1错误,log4j,log4j2,Log4j,Log4j2,我已经试过了: 当我将jar文件部署到docker映像时,我得到了一个log4j 1 appender错误,但当我在Eclipse中运行main方法时,没有看到这个错误 log4j:警告:找不到记录器的附加器(blah)。 log4j:警告请正确初始化log4j系统。 log4j:有关更多信息,请参阅警告 这是我的依赖项 <dependencies> <!-- QUARTZ Required --> <dependency>
<dependencies>
<!-- QUARTZ Required -->
<dependency>
<groupId>org.quartz-scheduler</groupId>
<artifactId>quartz</artifactId>
<version>2.3.2</version>
</dependency>
<!-- Kafka -->
<dependency>
<groupId>org.apache.kafka</groupId>
<artifactId>kafka_2.12</artifactId>
<version>2.3.1</version>
</dependency>
<!-- SSO Web Form -->
<dependency>
<groupId>org.jsoup</groupId>
<artifactId>jsoup</artifactId>
<version>1.11.3</version>
</dependency>
<dependency>
<groupId>net.sourceforge.htmlunit</groupId>
<artifactId>htmlunit</artifactId>
<version>2.34.1</version>
</dependency>
<!-- JSON -->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.10.0</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.10.0</version>
</dependency>
<dependency>
<groupId>com.jayway.jsonpath</groupId>
<artifactId>json-path</artifactId>
<version>2.4.0</version>
</dependency>
<!-- CSV -->
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-csv</artifactId>
<version>1.7</version>
</dependency>
<!-- Logging -->
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>2.12.1</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
<version>2.12.1</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-1.2-api</artifactId>
<version>2.12.1</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-slf4j-impl</artifactId>
<version>2.12.1</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.29</version>
</dependency>
<!-- SQL -->
<dependency>
<groupId>com.oracle</groupId>
<artifactId>ojdbc</artifactId>
<version>${ojdbc.version}</version>
</dependency>
<!-- Test -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-core</artifactId>
<version>2.8.9</version>
<scope>test</scope>
</dependency>
</dependencies>
我验证了我的参数是否有效,并确保配置在IDE中工作。我甚至尝试使用Configurator.initialize(名称、文件路径)以编程方式加载该文件。我怀疑log4j1不知何故在我的环境中,我想把它清除掉
谢谢你的帮助。我通过将maven assembly插件版本更新为3.1.1解决了这个问题
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<!-- Needed to get the correct log4j -->
<version>3.1.1</version>
<executions>
<execution>
<id>distrib</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
<configuration>
<appendAssemblyId>false</appendAssemblyId><!--$NO-MVN-MAN-VER$ -->
<outputDirectory>docker/jar/</outputDirectory>
<archive>
<manifest>
<mainClass>my.main.class</mainClass>
</manifest>
</archive>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
<finalName>my-app-${project.version}</finalName>
</configuration>
</execution>
</executions>
</plugin>
maven汇编插件
3.1.1
发行版
包裹
单一的
假的
码头工人/
我的主课
带有依赖项的jar
我的应用程序-${project.version}
能否共享项目的maven依赖关系树?您需要log4j-1.2-api jar,但需要删除任何log4j:log4j:transitive依赖项。
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<!-- Needed to get the correct log4j -->
<version>3.1.1</version>
<executions>
<execution>
<id>distrib</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
<configuration>
<appendAssemblyId>false</appendAssemblyId><!--$NO-MVN-MAN-VER$ -->
<outputDirectory>docker/jar/</outputDirectory>
<archive>
<manifest>
<mainClass>my.main.class</mainClass>
</manifest>
</archive>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
<finalName>my-app-${project.version}</finalName>
</configuration>
</execution>
</executions>
</plugin>