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>

 就可以了。