log4j 不动代码的情况下 升级为 log4j2
一、将原有的 log4j.properties 删除
二、在resources 目录下 新建 log4j2.xml 文件
注:resources 一定要配置为 资源文件夹
log4j2.xml
<?xml version="1.0" encoding="UTF-8"?> <Configuration status="info" monitorInterval="60"> <properties> <property name="LOG_HOME">logs/property> <property name="FILE_NAME">LogFileproperty> properties> <Appenders> <Console name="Console" target="SYSTEM_OUT"> <PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %-5level %l - %msg%n" /> Console> <RollingFile name="uleWalletEjbLogFile" fileName="${LOG_HOME}/${FILE_NAME}.log" filePattern="${LOG_HOME}/$${date:yyyy-MM-dd}/${FILE_NAME}-%d{yyyy-MM-dd HH}-%i.log"> <PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %-5level %l - %msg%n" /> <Policies> <TimeBasedTriggeringPolicy interval="1" /> <SizeBasedTriggeringPolicy size="20 MB" /> Policies> <DefaultRolloverStrategy max="30" /> RollingFile> Appenders> <Loggers> <Root level="info"> <AppenderRef ref="Console" /> <AppenderRef ref="uleWalletEjbLogFile" /> Root> Loggers> Configuration>
这样的配置是 在logs 目录 下生成 每小时一个文件 最大20MB 最多30个
pom.xml
将下面的去掉
<dependency> <groupId>org.slf4jgroupId> <artifactId>slf4j-log4j12artifactId> <version>1.7.21version> dependency>
改为
<dependency> <groupId>org.apache.logging.log4jgroupId> <artifactId>log4j-apiartifactId> <version>2.3version> dependency> <dependency> <groupId>org.apache.logging.log4jgroupId> <artifactId>log4j-coreartifactId> <version>2.3version> dependency> <dependency> <groupId>org.slf4jgroupId> <artifactId>slf4j-apiartifactId> <version>1.7.2version> dependency> <dependency> <groupId>org.apache.logging.log4jgroupId> <artifactId>log4j-slf4j-implartifactId> <version>2.3version> dependency>
重新编译,打包即可。
注:如果出现下面的错误 说明 log4j2.xml 没有加载上
ERROR StatusLogger No log4j2 configuration file found. Using default configuration: logging only errors to the console.
此时查看
pom.xml 是否有这段代码
如果 有则 应该加 下
<include>**/**.xmlinclude>
就可以了。