Log4j2 - 配置文件已创建但未写入

问题描述 投票:0回答:1

Java maven war 项目 - 当应用程序启动时,它应该根据 log4j2 配置创建文件并写入日志 - 此处正在创建文件,log4j2 也在获取 - 但日志不会写入新文件。 pom、log4j2 和 web-deployment 文件如下。

<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>VOMS</groupId>
    <artifactId>voms-bl</artifactId>
    <version>1.0.90</version>
    <packaging>war</packaging>
    <dependencies>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-beans</artifactId>
            <version>3.0.7.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>antlr</groupId>
            <artifactId>antlr</artifactId>
            <version>2.7.7</version>
        </dependency>
        <dependency>
            <groupId>aopalliance</groupId>
            <artifactId>aopalliance</artifactId>
            <version>1.0</version>
        </dependency>
        <dependency>
            <groupId>asm</groupId>
            <artifactId>asm</artifactId>
            <version>3.3.1</version>
        </dependency>
        <dependency>
            <groupId>org.bouncycastle</groupId>
            <artifactId>bcprov-jdk15on</artifactId>
            <version>1.47</version>
        </dependency>
        <dependency>
            <groupId>org.bouncycastle</groupId>
            <artifactId>bcpg-jdk15on</artifactId>
            <version>1.47</version>
        </dependency>
        <dependency>
            <groupId>commons-codec</groupId>
            <artifactId>commons-codec</artifactId>
            <version>1.7</version>
        </dependency>
        <dependency>
            <groupId>commons-collections</groupId>
            <artifactId>commons-collections</artifactId>
            <version>3.2.1</version>
        </dependency>
        <dependency>
            <groupId>commons-io</groupId>
            <artifactId>commons-io</artifactId>
            <version>1.4</version>
        </dependency>
        <dependency>
            <groupId>commons-lang</groupId>
            <artifactId>commons-lang</artifactId>
            <version>2.6</version>
        </dependency>
        <dependency>
            <groupId>commons-logging</groupId>
            <artifactId>commons-logging</artifactId>
            <version>1.1.1</version>
        </dependency>
        <dependency>
            <groupId>commons-pool</groupId>
            <artifactId>commons-pool</artifactId>
            <version>1.5.4</version>
        </dependency>
        <dependency>
            <groupId>org.apache.cxf</groupId>
            <artifactId>cxf</artifactId>
            <version>2.7.6</version>
            <type>pom</type>
        </dependency>
        <dependency>
            <groupId>org.apache.cxf.services.sts</groupId>
            <artifactId>cxf-services-sts-core</artifactId>
            <version>2.7.6</version>
            <exclusions>
                <exclusion>
                    <groupId>commons-logging</groupId>
                    <artifactId>commons-logging</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.apache.cxf.services.wsn</groupId>
            <artifactId>cxf-services-wsn-api</artifactId>
            <version>2.7.6</version>
        </dependency>
        <dependency>
            <groupId>org.apache.cxf.services.wsn</groupId>
            <artifactId>cxf-services-wsn-core</artifactId>
            <version>2.7.6</version>
        </dependency>
        <dependency>
            <groupId>org.apache.cxf.xjcplugins</groupId>
            <artifactId>cxf-xjc-boolean</artifactId>
            <version>2.6.2</version>
        </dependency>
        <dependency>
            <groupId>org.apache.cxf.xjcplugins</groupId>
            <artifactId>cxf-xjc-bug671</artifactId>
            <version>2.6.2</version>
        </dependency>
        <dependency>
            <groupId>org.apache.cxf.xjcplugins</groupId>
            <artifactId>cxf-xjc-dv</artifactId>
            <version>2.6.2</version>
        </dependency>
        <dependency>
            <groupId>org.apache.cxf.xjc-utils</groupId>
            <artifactId>cxf-xjc-runtime</artifactId>
            <version>2.6.2</version>
        </dependency>
        <dependency>
            <groupId>org.apache.cxf.xjcplugins</groupId>
            <artifactId>cxf-xjc-ts</artifactId>
            <version>2.6.2</version>
        </dependency>
        <dependency>
            <groupId>net.sf.ehcache</groupId>
            <artifactId>ehcache-core</artifactId>
            <version>2.5.1</version>
        </dependency>
        <dependency>
            <groupId>com.sun.xml.fastinfoset</groupId>
            <artifactId>FastInfoset</artifactId>
            <version>1.2.12</version>
        </dependency>
        <dependency>
            <groupId>org.apache.geronimo.specs</groupId>
            <artifactId>geronimo-javamail_1.4_spec</artifactId>
            <version>1.7.1</version>
        </dependency>
        <dependency>
            <groupId>org.apache.geronimo.specs</groupId>
            <artifactId>geronimo-jms_1.1_spec</artifactId>
            <version>1.1.1</version>
        </dependency>
        <dependency>
            <groupId>com.google.code.gson</groupId>
            <artifactId>gson</artifactId>
            <version>2.2.4</version>
        </dependency>
        <dependency>
            <groupId>com.google.guava</groupId>
            <artifactId>guava</artifactId>
            <version>18.0</version>
        </dependency>
        <dependency>
            <groupId>com.zaxxer</groupId>
            <artifactId>HikariCP</artifactId>
            <version>2.4.6</version>
        </dependency>
        <dependency>
            <groupId>org.apache.httpcomponents</groupId>
            <artifactId>httpasyncclient</artifactId>
            <version>4.0-beta3</version>
            <exclusions>
                <exclusion>
                    <groupId>commons-logging</groupId>
                    <artifactId>commons-logging</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.apache.httpcomponents</groupId>
            <artifactId>httpclient</artifactId>
            <version>4.2.5</version>
            <exclusions>
                <exclusion>
                    <groupId>commons-logging</groupId>
                    <artifactId>commons-logging</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.apache.httpcomponents</groupId>
            <artifactId>httpcore</artifactId>
            <version>4.2.4</version>
        </dependency>
        <dependency>
            <groupId>org.apache.httpcomponents</groupId>
            <artifactId>httpcore-nio</artifactId>
            <version>4.2.4</version>
        </dependency>
        <dependency>
            <groupId>isorelax</groupId>
            <artifactId>isorelax</artifactId>
            <version>20030108</version>
        </dependency>
        <dependency>
            <groupId>org.codehaus.jackson</groupId>
            <artifactId>jackson-mapper-asl</artifactId>
            <version>1.9.9</version>
        </dependency>
        <dependency>
            <groupId>javax.xml.bind</groupId>
            <artifactId>jaxb-api</artifactId>
            <version>2.2.6</version>
        </dependency>
        <dependency>
            <groupId>joda-time</groupId>
            <artifactId>joda-time</artifactId>
            <version>1.6.2</version>
        </dependency>
        <dependency>
            <groupId>rhino</groupId>
            <artifactId>js</artifactId>
            <version>1.7R2</version>
        </dependency>
        <dependency>
            <groupId>com.jcraft</groupId>
            <artifactId>jsch</artifactId>
            <version>0.1.53</version>
        </dependency>
        <dependency>
            <groupId>org.jsoup</groupId>
            <artifactId>jsoup</artifactId>
            <version>1.7.3</version>
        </dependency>
        <dependency>
            <groupId>org.apache.logging.log4j</groupId>
            <artifactId>log4j-core</artifactId>
            <version>2.17.0</version>
        </dependency>
        <dependency>
            <groupId>org.apache.mina</groupId>
            <artifactId>mina-core</artifactId>
            <version>2.0.7</version>
        </dependency>
        <dependency>
            <groupId>net.java.dev.msv</groupId>
            <artifactId>msv-core</artifactId>
            <version>2011.1</version>
        </dependency>
        <dependency>
            <groupId>org.apache.neethi</groupId>
            <artifactId>neethi</artifactId>
            <version>3.0.2</version>
        </dependency>
        <dependency>
            <groupId>net.oauth.core</groupId>
            <artifactId>oauth-provider</artifactId>
            <version>20100527</version>
        </dependency>
        <dependency>
            <groupId>net.oauth.core</groupId>
            <artifactId>oauth</artifactId>
            <version>20100527</version>
        </dependency>
        <dependency>
            <groupId>org.opensaml</groupId>
            <artifactId>opensaml</artifactId>
            <version>2.5.1-1</version>
        </dependency>
        <dependency>
            <groupId>org.opensaml</groupId>
            <artifactId>openws</artifactId>
            <version>1.4.2-1</version>
        </dependency>
        <dependency>
            <groupId>net.sf.oval</groupId>
            <artifactId>oval</artifactId>
            <version>1.85</version>
        </dependency>
        <dependency>
            <groupId>org.quartz-scheduler</groupId>
            <artifactId>quartz</artifactId>
            <version>2.2.1</version>
        </dependency>
        <dependency>
            <groupId>org.quartz-scheduler</groupId>
            <artifactId>quartz-jobs</artifactId>
            <version>2.2.1</version>
        </dependency>
        <dependency>
            <groupId>relaxngDatatype</groupId>
            <artifactId>relaxngDatatype</artifactId>
            <version>20020414</version>
        </dependency>
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>servlet-api</artifactId>
            <version>3.0-alpha-1</version>
        </dependency>
        <dependency>
            <groupId>com.jolbox</groupId>
            <artifactId>bonecp</artifactId>
            <version>0.8.0.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.codehaus.woodstox</groupId>
            <artifactId>stax2-api</artifactId>
            <version>3.1.1</version>
        </dependency>
        <dependency>
            <groupId>com.sixdee.extra</groupId>
            <artifactId>tomcat_core</artifactId>
            <version>1.0</version>
            <scope>system</scope>
            <systemPath>${basedir}/lib/tomcat_core.jar</systemPath>
        </dependency>
        <dependency>
            <groupId>org.apache.velocity</groupId>
            <artifactId>velocity</artifactId>
            <version>1.7</version>
        </dependency>
        <dependency>
            <groupId>com.ximpleware</groupId>
            <artifactId>vtd-xml</artifactId>
            <version>2.11</version>
        </dependency>
        <dependency>
            <groupId>org.codehaus.woodstox</groupId>
            <artifactId>woodstox-core-asl</artifactId>
            <version>4.2.0</version>
        </dependency>
        <dependency>
            <groupId>org.apache.xmlrpc</groupId>
            <artifactId>xmlrpc-server</artifactId>
            <version>3.1.3</version>
            <exclusions>
                <exclusion>
                    <groupId>commons-logging</groupId>
                    <artifactId>commons-logging</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.apache.ws.commons.util</groupId>
            <artifactId>ws-commons-util</artifactId>
            <version>1.0.2</version>
        </dependency>
        <dependency>
            <groupId>wsdl4j</groupId>
            <artifactId>wsdl4j</artifactId>
            <version>1.6.3</version>
        </dependency>
        <dependency>
            <groupId>org.apache.ws.security</groupId>
            <artifactId>wss4j</artifactId>
            <version>1.6.11</version>
            <exclusions>
                <exclusion>
                    <groupId>commons-logging</groupId>
                    <artifactId>commons-logging</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>xml-resolver</groupId>
            <artifactId>xml-resolver</artifactId>
            <version>1.2</version>
        </dependency>
        <dependency>
            <groupId>org.apache.xmlbeans</groupId>
            <artifactId>xmlbeans</artifactId>
            <version>2.6.0</version>
        </dependency>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.19</version>
        </dependency>
        <dependency>
            <groupId>xmlpull</groupId>
            <artifactId>xmlpull</artifactId>
            <version>1.1.3.1</version>
        </dependency>
        <dependency>
            <groupId>org.apache.xmlrpc</groupId>
            <artifactId>xmlrpc-common</artifactId>
            <version>3.1.3</version>
        </dependency>
        <dependency>
            <groupId>org.apache.ws.xmlschema</groupId>
            <artifactId>xmlschema-core</artifactId>
            <version>2.0.3</version>
        </dependency>
        <dependency>
            <groupId>org.apache.santuario</groupId>
            <artifactId>xmlsec</artifactId>
            <version>1.5.5</version>
            <exclusions>
                <exclusion>
                    <groupId>commons-logging</groupId>
                    <artifactId>commons-logging</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.opensaml</groupId>
            <artifactId>xmltooling</artifactId>
            <version>1.3.2-1</version>
        </dependency>
        <dependency>
            <groupId>xpp3</groupId>
            <artifactId>xpp3_min</artifactId>
            <version>1.1.4c</version>
        </dependency>
        <dependency>
            <groupId>com.sun.msv.datatype.xsd</groupId>
            <artifactId>xsdlib</artifactId>
            <version>2010.1</version>
        </dependency>
        <dependency>
            <groupId>com.thoughtworks.xstream</groupId>
            <artifactId>xstream</artifactId>
            <version>1.4.4</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-aop</artifactId>
            <version>3.0.7.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-core</artifactId>
            <version>3.0.7.RELEASE</version>
            <exclusions>
                <exclusion>
                    <groupId>commons-logging</groupId>
                    <artifactId>commons-logging</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>3.0.7.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-expression</artifactId>
            <version>3.0.7.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-jms</artifactId>
            <version>3.0.7.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-tx</artifactId>
            <version>3.0.7.RELEASE</version>
        </dependency>
        
        
        <!-- https://mvnrepository.com/artifact/org.slf4j/slf4j-api -->
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
            <version>1.6.1</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-web</artifactId>
            <version>3.0.7.RELEASE</version>
        </dependency>
        <!--                 https://mvnrepository.com/artifact/org.springframework/spring-webmvc -->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-webmvc</artifactId>
            <version>3.0.7.RELEASE</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/org.apache.poi/poi -->
        <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi</artifactId>
            <version>3.11-beta2</version>
        </dependency>
        <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi-ooxml</artifactId>
            <version>3.11-beta2</version>
        </dependency>
        <dependency>
            <groupId>javax.xml.ws</groupId>
            <artifactId>jaxws-api</artifactId>
            <version>2.3.1</version>
        </dependency>
        <dependency>
            <groupId>jakarta.jws</groupId>
            <artifactId>jakarta.jws-api</artifactId>
            <version>2.1.0</version>
        </dependency>
        <!--        <dependency>-->
        <!--            <groupId>org.sonarsource.scanner.maven</groupId>-->
        <!--            <artifactId>sonar-maven-plugin</artifactId>-->
        <!--            <version>3.9.0.2155</version>-->
        <!--        </dependency>-->
    </dependencies>
    <build>
        <sourceDirectory>src</sourceDirectory>
        <resources>
            <resource>
                <directory>src</directory>
                <excludes>
                    <exclude>**/*.java</exclude>
                </excludes>
            </resource>
            <resource>
                <directory>resources</directory>
                <excludes>
                    <exclude>**/*.java</exclude>
                </excludes>
            </resource>
        </resources>
        <plugins>
            <plugin>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.5.1</version>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-war-plugin</artifactId>
                <version>3.0.0</version>
                <configuration>
                    <!--                    <warName>VOMS_BL</warName>-->
                    <webResources>
                        <resource>
                            <directory>${project.basedir}/lib</directory>
                            <targetPath>WEB-INF/lib</targetPath>
                            <!-- <includes>
                            <include>external.jar</include>
                        </includes>-->
                        </resource>
                        <resource>
                            <directory>${project.basedir}/deployment</directory>
                            <targetPath>WEB-INF</targetPath>
                            <!-- <includes>
                            <include>external.jar</include>
                        </includes>-->
                        </resource>
                    </webResources>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.sonarsource.scanner.maven</groupId>
                <artifactId>sonar-maven-plugin</artifactId>
                <version>3.9.0.2155</version>
            </plugin>
        </plugins>
    </build>
</project>


Jboss-deployment.xml


<?xml version="1.0" encoding="UTF-8"?> 
<jboss-deployment-structure>
   <deployment>
        <exclude-subsystems>
            <subsystem name="webservices" />
            <subsystem name="weld" />
        </exclude-subsystems>
        
        <exclusions>
               <module name="org.apache.log4j" />
               <module name="org.apache.cxf" />
        </exclusions>
        
        <dependencies>
               <module name="javax.xml.ws.api" export="true" />
               <module name="javax.jws.api" export="true" />
        </dependencies>
        
   </deployment>
   
</jboss-deployment-structure> 




Log4j2.xml


<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="debug">

   <!-- <properties>
        <property name="pattern">%highlight{[%-5d{dd-MM-yyyy HH:mm:ss,SSS} | %-5p | %-30c | %-3L ] :-> %m%n}{FATAL=Cyan, ERROR=red, WARN=yellow bold, INFO=Normal, DEBUG=Normal, TRACE=Normal}</property>
    </properties> -->
 <properties>
         <property name="pattern">[VMS]::[VoMs]::[Instance1]::[%-5d{yyyy-MM-dd HH:mm:ss.SSS}]::[%t]::[]::[%X{transactionId}]::[%-5level]::[]::%F | %L | %m%n</property>
    </properties> 


 <Appenders>
    <RollingRandomAccessFile name="A1" fileName="/opt/erecharge/VFP_VMS/VFP_Voms_BL/wildfly-10.1.0.Final/standalone/log/app.log" append="false" 
               filePattern="/opt/erecharge/VFP_VMS/VFP_Voms_BL/wildfly-10.1.0.Final/standalone/log/vomsBaseBL_%d{yyyyMMddHH}_%i.log">
      <PatternLayout pattern="${pattern}"/>
      <Policies>
        <TimeBasedTriggeringPolicy interval="1" modulate="true"/>
      </Policies>
    </RollingRandomAccessFile> 

    <RollingRandomAccessFile name="VoucherLog" fileName="/opt/erecharge/VFP_VMS/VFP_Voms_BL/wildfly-10.1.0.Final/standalone/log/vomsBaseVoucherLog.log" append="false" 
               filePattern="/opt/erecharge/VFP_VMS/VFP_Voms_BL/wildfly-10.1.0.Final/standalone/log/vomsBaseVoucherLog_%d{yyyyMMddHH}_%i.log">
      <PatternLayout pattern="%d %-5p (%F:%L) - %m%n"/>
      <Policies>
        <TimeBasedTriggeringPolicy interval="1" modulate="true"/>
      </Policies>
    </RollingRandomAccessFile>
    
    <RollingRandomAccessFile append="false"
        name="CdrFileLog" fileName="/opt/erecharge/VFP_VMS/VFP_Voms_BL/wildfly-10.1.0.Final/standalone/standalone/log/vomsBaseFileCDR.csv"
        filePattern="/opt/erecharge/VFP_VMS/VFP_Voms_BL/wildfly-10.1.0.Final/standalone/standalone/log/$${date:yyyy-MM}/vomsBaseFileCDR_%d{yyyyMMddHH}_%i.txt">
        <PatternLayout>
            <Pattern>%m%n</Pattern>
        </PatternLayout>
        <Policies>
            <TimeBasedTriggeringPolicy interval="1"
                modulate="true" />
        </Policies>
    </RollingRandomAccessFile>
    
    <Console name="STDOUT" target="SYSTEM_OUT">
      <PatternLayout pattern="%d %-5p (%F:%L)  - %m%n"/>
    </Console>
    
    <RollingFile name="CdrFileLog" fileName="/opt/erecharge/VFP_VMS/VFP_Voms_BL/wildfly-10.1.0.Final/standalone/log/mm_bl_file_cdr.txt" append="true"
        filePattern="/opt/erecharge/VFP_VMS/VFP_Voms_BL/wildfly-10.1.0.Final/standalone/log/$${date:yyyy-MM}/mm_bl_file_cdr-%d{yyyyMMddHHmmss}-%i.log.gz">
        <PatternLayout>
            <Pattern>%m%n</Pattern>
            </PatternLayout>
            <Policies>
                <!--<CronTriggeringPolicy schedule="50 * * * * ?" />-->
             <SizeBasedTriggeringPolicy size="1 KB" /> 
            </Policies>
        </RollingFile>  </Appenders>
  
  <Loggers>
    <Logger name="org.apache.log4j.xml" level="debug">
      <AppenderRef ref="A1"/>
   </Logger>
    <Logger name="com.sixdee.fw" level="warn">
      <AppenderRef ref="A1"/>
    </Logger>
    <Logger name="com.sixdee.voms.imp" level="debug">
      <AppenderRef ref="A1"/>
    </Logger>
    
    <Logger name="org.apache.cxf" level="INFO">
      <AppenderRef ref="A1"/>
    </Logger>
    
    <Logger name="com.sixdee.voms.imp.cdr.EventCDRGenerator" level="info">
      <AppenderRef ref="CdrFileLog"/>
    </Logger>
    
    <Logger name="com.sixdee.voms.imp.tool.VoucherPrinter" level="info">
      <AppenderRef ref="VoucherLog"/>
    </Logger>

    <Root level="debug">
      <AppenderRef ref="info"/>
    </Root>
  </Loggers>
 
  </Configuration>

我更改了日志版本并尝试了不同的依赖项

java maven logging jboss log4j2
1个回答
0
投票

如果日志后端创建了日志文件,但其中没有消息出现,最常见的原因是:消息正在被记录到另一个后端。

在您的情况下,您有以下日志记录依赖项(参见

mvn dependency:list
或您的 IDE):

[INFO] 
[INFO] --- dependency:2.8:list (default-cli) @ log4j-sandbox ---
[INFO] 
[INFO] The following files have been resolved:
          ...
[INFO]    commons-logging:commons-logging:jar:1.1.1:compile
          ...
[INFO]    org.apache.logging.log4j:log4j-api:jar:2.19.0:compile
[INFO]    org.apache.logging.log4j:log4j-core:jar:2.17.0:compile
          ...
[INFO]    org.slf4j:jcl-over-slf4j:jar:1.6.1:compile
[INFO]    org.slf4j:jul-to-slf4j:jar:1.6.1:compile
[INFO]    org.slf4j:log4j-over-slf4j:jar:1.6.1:compile
[INFO]    org.slf4j:slf4j-api:jar:1.6.1:compile
          ...

它们具有以下目的:

  • commons-logging
    log4j-api
    slf4j-api
    是正确的日志记录 API:您的代码或库代码直接使用它们,
  • log4j-over-slf4j
    log4j:log4j
    (Log4j 1.x) 的替代品,其中包含 API 和后端。该工件仅替换 API 并将所有消息转发到 SLF4J。
  • log4j-core
    是一个日志后端:Log4j API 将使用它来写入消息。
  • slf4j-api
    还有一个无操作后端:如果选择它,您将得到一个 像这样的消息 问题关于你的 控制台。
  • 其余的是API之间的各种桥梁。
查看您的依赖关系:

    使用 Log4j API 编写的代码将正确记录到 Log4j Core,
  • 使用 SLF4J 编写的代码将被记录到
  • NO-OP 后端(类路径上不存在其他 SLF4J 实现),
  • 使用 Commons Logging 编写的代码将被重定向到 SLF4J(通过
  • jcl-over-slf4j
    log4j-over-slf4j
    )。
要修复您的日志堆栈,您应该:

    升级
  • commons-logging
    到版本1.3.0(直接支持Log4j API和SLF4J,优先考虑前者),
  • 删除
  • jcl-over-slf4j
    ,
  • 尝试删除
  • log4j-over-slf4j
    :一些
    库可能仍然直接使用Log4j 1.x,但这不太可能。如果您开始收到有关 org/apache/log4j/Logger 的运行时链接错误,则需要再次添加依赖项,
    在 SLF4J 和 Log4j API 之间添加一座桥梁:在您的情况下,它是 
  • log4j-slf4j-impl
  • (参见
    这个问题
    )。
备注:

jul-to-slf4j 工件可用于提供

java.util.logging
和 SLF4J 之间的重定向。但是,与其他重定向不同,这只能针对整个应用程序服务器“全局”完成,或者需要应用程序服务器特定配置。因此
jul-to-slf4j
在 WAR 文件中通常是无用的。

© www.soinside.com 2019 - 2024. All rights reserved.