作为log4j2漏洞的一部分,我们正在迁移到log4j2.xml。但在应用程序启动期间,不会拾取新创建的log4j2。我已经执行了以下所有选项,但徒劳。
尝试的选项:
这是我的项目的细节。如果需要任何其他信息,请告诉我。
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>
此外,由于Spring Boot Starter集成了Logback,请考虑从log4j迁移到Logback。https://logback.qos.ch/manual/introduction.html.
Logback是由log4j的创始人设计的。
这里有一个迁移工具:https://www.slf4j.org/migrator.html
您的Spring Boot项目继承自Spring Boot Starter父项目,该父项目依赖于SLF4J和logback。您可以将项目迁移到logback,也可以删除logback依赖项。
要删除回登录依赖项,请尝试更新POM文件:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-logging</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-log4j2</artifactId>
</dependency>
XML配置文件应该放在src/main/Resources文件夹下。
我试图使用log4j 2实现一些日志记录。控制台输出是可以的,但当我试图写一些日志到文件我不能管理它。 我的: 我的: 我使用log4j的方式如下: 我使用记录器的类在包下。 xml配置位于src/main/resources下。 日志文件夹与源文件夹处于同一级别。
有没有人知道为什么这个日志没有写入文件。它将两次写入标准输出,但不写入文件: 此外,我尝试删除“stdout”附加器,但我没有得到任何日志记录。 log4j.rootlogger=debug,Stdout,mainAppender log4j.appender.stdout=org.apache.log4j.consoleappender log4j.appender.stdout.layout=
我使用ubuntu 16.04。我想在有cassandra java api的程序中编写登录文件。日志可以写在java控制台中,但不能写在文件中。 我的节目: 还有我的log4j。属性:
我正在将构建从Ant迁移到Maven。Ant构建用于编译“代码生成器”,执行这个“代码生成器”,它生成了一组Java和C代码。然后,它将生成的Java代码与其他一些代码一起编译,生成一个jar。 我已经在Maven中很容易地复制了这一点,当我从命令行运行时,它工作得很好,但Eclipse抱怨并给了我一个与pom文件相关的错误 无法在超文本传输协议中找到{group.id}:{artifact.id
问题内容: 我有下面的代码 执行后,文件创建成功,但创建的文件为空 那么代码有什么问题呢? 问题答案: 您必须关闭,否则不会刷新当前缓冲区。您可以直接调用该方法。 如果要关闭文件,则无需使用该方法。该可用于例如,如果一会你的程序运行和输出文件中的东西,你想在其他地方检查。
问题内容: 我想知道如何将以下代码转换为将这些行输出到文本文件,而不是标准输出: 该属性文件是: 谢谢。 问题答案: 将ConsoleAppender更改为FileAppender。 我发现 有用。如果使用此选项,则必须为fileName添加一个属性,并且可能还要设置maxFileSize。这是一个示例(将它们放在log4j.properties文件中): 还有其他附加程序。 根据时间滚动。 不滚