【发布时间】:2022-01-05 16:29:58
【问题描述】:
我们正在迁移到 log4j2.xml 作为 log4j2 漏洞的一部分。但是新创建的 log4j2 在应用程序启动期间没有被拾取。我已经执行了以下所有选项,但都是徒劳的。
尝试的选项:
- 尝试添加和删除 log4j-jcl 依赖项。
- 删除了 spring-boot-starter-logging 依赖项。
- 尝试使用 log4j2.properties 而不是 log4j2.xml。
- 在 application.properties 中添加了 logging.config 属性。
- 尝试重命名 RollingFile 名称并故意提供不正确的 AppenderRef ref 以检查任何与 bean 相关的异常。但应用程序已成功启动。这意味着这个 log4j2.xml 和 log4j2.properties 文件没有被拾取。
这是我的项目的详细信息。如果需要任何其他信息,请告知。
log4j2.xml:
<?xml version="1.0" encoding="UTF-8"?>
<Configuration monitorinterval="30" status="info" strict="true">
<Properties>
<Property name="logPath">${sys:app.config.home}/logs</Property>
</Properties>
<Appenders>
<Console name="ConsoleAppender" target="SYSTEM_OUT" follow="true">
<PatternLayout>
<pattern>TYPE=%level, DATE_TIME=%d, CLASS_NAME=%C, METHOD_NAME=%M, %msg%n</pattern>
</PatternLayout>
</Console>
<RollingFile name="RollingFile" fileName="${logPath}/batch.log" filePattern="${logPath}/batch-%d{MM-dd-yyyy}-part%i.log.gz">
<PatternLayout>
<pattern>TYPE=%level, DATE_TIME=%d, CLASS_NAME=%C, METHOD_NAME=%M, %msg%n</pattern>
</PatternLayout>
<Policies>
<TimeBasedTriggeringPolicy interval="1" modulate="true"/>
<SizeBasedTriggeringPolicy size="200 MB"/>
</Policies>
<DefaultRolloverStrategy max="60"/>
</RollingFile>
</Appenders>
<Loggers>
<Root level="info" additivity="true" includeLocation="true">
<AppenderRef ref="RollingFile" />
<AppenderRef ref="ConsoleAppender" />
</Root>
</Loggers>
</Configuration>
pom.xml:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.proj.ds</groupId>
<artifactId>ProcessorBatch</artifactId>
<version>1.0</version>
<packaging>jar</packaging>
<name>ProcessorBatch</name>
<description>ProcessorBatch project</description>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.0.RELEASE</version>
<relativePath/>
</parent>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
<log4j2.version>2.17.1</log4j2.version>
</properties>
<repositories>
<repository>
<id>MDM</id>
<url>https://devnexus.tent.trt.proj.pri:8443/nexus/content/groups/public</url>
<name>Proj Repo</name>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-batch</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.batch</groupId>
<artifactId>spring-batch-core</artifactId>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context-support</artifactId>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.8</version>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>1.3.3</version>
</dependency>
<dependency>
<groupId>org.springframework.batch</groupId>
<artifactId>spring-batch-infrastructure</artifactId>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-oxm</artifactId>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aop</artifactId>
</dependency>
<dependency>
<groupId>aopalliance</groupId>
<artifactId>aopalliance</artifactId>
<version>1.0</version>
</dependency>
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjrt</artifactId>
</dependency>
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjweaver</artifactId>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
</dependency>
<dependency>
<groupId>commons-lang</groupId>
<artifactId>commons-lang</artifactId>
<version>2.6</version>
</dependency>
<dependency>
<groupId>commons-collections</groupId>
<artifactId>commons-collections</artifactId>
<version>3.2.1</version>
</dependency>
<dependency>
<groupId>joda-time</groupId>
<artifactId>joda-time</artifactId>
</dependency>
<dependency>
<groupId>commons-dbcp</groupId>
<artifactId>commons-dbcp</artifactId>
<version>1.4</version>
</dependency>
<dependency>
<groupId>org.mapstruct</groupId>
<artifactId>mapstruct-jdk8</artifactId>
<version>1.1.0.Final</version>
</dependency>
<dependency>
<groupId>com.oracle</groupId>
<artifactId>ojdbc7</artifactId>
<version>12.1.0.1</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<executable>true</executable>
</configuration>
</plugin>
</plugins>
</build>
</project>
application-context.xml:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:jdbc="http://www.springframework.org/schema/jdbc"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:util="http://www.springframework.org/schema/util" xmlns:mvc="http://www.springframework.org/schema/mvc"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.2.xsd
http://www.springframework.org/schema/jdbc
http://www.springframework.org/schema/jdbc/spring-jdbc-3.2.xsd
http://www.springframework.org/schema/util
http://www.springframework.org/schema/util/spring-util-3.2.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.2.xsd">
<import resource="classpath:context/persistance-context.xml" />
<import resource="classpath:context/memory-jobrepository.xml" />
<context:component-scan base-package="com.proj.ds" />
<util:properties id="configProperties" location="file:${app.config.home}/config/batchConfig.properties" />
<context:property-placeholder location="file:${app.config.home}/config/batchConfig.properties" />
<bean id="processorTasklet" class="com.proj.ds.mdm.processor.batch.tasklet.ProcessorTasklet">
<property name="batchDao" ref="batchDao" />
<property name="processorService" ref="processorService" />
<property name="threadCount" value="${batch.threadcount}" />
</bean>
<bean id="batchDao" class="com.proj.ds.mdm.processor.batch.dao.BatchDAOImpl">
<property name="metaBatchMapper" ref="metaBatchMapper" />
<property name="hubBatchMapper" ref="hubBatchMapper" />
</bean>
<bean id="processorService" class="com.proj.ds.mdm.processor.batch.service.ProcessorServiceImpl">
<property name="projCompositeService" ref="projCompositeService" />
<property name="endPointUrl" value="${mdm.endpoint}" />
</bean>
<bean id="projCompositeService" class="com.proj.mdm.projcomposite.port.projCompositeService">
<property name="handlerResolver" ref="handlerResolver" />
</bean>
<bean id="handlerResolver" class="com.proj.ds.mdm.processor.batch.service.HeaderHandlerResolver"/>
<bean id="batchUtil" class="com.proj.ds.mdm.processor.batch.util.BatchUtil">
<property name="configProperties" ref="configProperties" />
</bean>
</beans>
【问题讨论】:
标签: java spring-boot spring-mvc