2016-07-09 20 views
-1

Ich versuche, eine Gewohnheit zu schaffen appender die mit folgenden:Log4j-over-slf4j Konflikt mit log4j im Frühjahr Anwendung

public class StringBufferAppender extends org.apache.log4j.AppenderSkeleton 

innen i

protected void append(LoggingEvent event) { 


     //String message = event.getMessage(); 

} 

Das Problem ist, dass getMessage ist nicht erreichbar

Beim Überprüfen habe ich Folgendes gefunden: LoggingEvent-Klasse von log4j-über-slf4j & LoggingEvent-Klasse von log4j

LoggingEventClass

enter image description here

Beide haben das gleiche Paket gibt es für i nicht zu Logging von log4j zeigen kann, da für die getMessage Methode nicht zur Verfügung steht.

Ich möchte das Log4-über-Slf4j aus meiner Pom-Datei entfernen, aber ich bin mir nicht sicher, wo ich den Ausschluss hinzufügen sollte.

Hier ist mein pom.xml (wurde von IntelliJ Assistenten erstellt):

<parent> 
     <groupId>org.springframework.boot</groupId> 
     <artifactId>spring-boot-starter-parent</artifactId> 
     <version>1.3.2.BUILD-SNAPSHOT</version> 
     <relativePath/> <!-- lookup parent from repository --> 
</parent> 

<properties> 
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
     <java.version>1.8</java.version> 
</properties> 

<dependencies> 
     <dependency> 
      <groupId>org.springframework.boot</groupId> 
      <artifactId>spring-boot-starter-aop</artifactId> 
     </dependency> 
     <dependency> 
      <groupId>org.springframework.boot</groupId> 
      <artifactId>spring-boot-starter-cache</artifactId> 
     </dependency> 
     <dependency> 
      <groupId>org.springframework.boot</groupId> 
      <artifactId>spring-boot-starter-data-mongodb</artifactId> 
     </dependency> 
     <dependency> 
      <groupId>org.springframework.boot</groupId> 
      <artifactId>spring-boot-starter-integration</artifactId> 
     </dependency> 
     <dependency> 
      <groupId>org.springframework.boot</groupId> 
      <artifactId>spring-boot-starter-jersey</artifactId> 
     </dependency> 
     <dependency> 
      <groupId>org.projectlombok</groupId> 
      <artifactId>lombok</artifactId> 
      <version>1.16.6</version> 
     </dependency> 
     <dependency> 
      <groupId>org.seleniumhq.selenium</groupId> 
      <artifactId>selenium-java</artifactId> 
      <version>2.52.0</version> 
     </dependency> 
     <dependency> 
      <groupId>org.springframework.boot</groupId> 
      <artifactId>spring-boot-starter-security</artifactId> 
     </dependency> 
     <dependency> 
      <groupId>org.springframework.session</groupId> 
      <artifactId>spring-session</artifactId> 
     </dependency> 
     <dependency> 
      <groupId>org.springframework.boot</groupId> 
      <artifactId>spring-boot-starter-validation</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-tomcat</artifactId> 
      <scope>provided</scope> 
     </dependency> 
     <dependency> 
      <groupId>org.springframework.boot</groupId> 
      <artifactId>spring-boot-starter-test</artifactId> 
      <scope>test</scope> 
     </dependency> 
     <dependency> 
      <groupId>org.springframework</groupId> 
      <artifactId>spring-test</artifactId> 
      <version>4.2.4.RELEASE</version> 
     </dependency> 
     <dependency> 
      <groupId>org.mongodb.morphia</groupId> 
      <artifactId>morphia</artifactId> 
      <version>1.1.0-alpha2</version> 
     </dependency> 
     <dependency> 
      <groupId>ma.glasnost.orika</groupId> 
      <artifactId>orika-core</artifactId> 
      <version>1.4.6</version> 
     </dependency> 
     <dependency> 
      <groupId>junit</groupId> 
      <artifactId>junit</artifactId> 
      <version>4.12</version> 
     </dependency> 
     <!-- https://mvnrepository.com/artifact/org.aspectj/aspectjrt --> 
     <dependency> 
      <groupId>org.aspectj</groupId> 
      <artifactId>aspectjrt</artifactId> 
      <version>1.8.9</version> 
     </dependency> 

     <!--FTP--> 
     <dependency> 
      <groupId>commons-net</groupId> 
      <artifactId>commons-net</artifactId> 
      <version>3.5</version> 
     </dependency> 
     **<!-- Log4j --> 
     <dependency> 
      <groupId>log4j</groupId> 
      <artifactId>log4j</artifactId> 
      <version>${log4j.version}</version> 
     </dependency>** 


    </dependencies> 

    <build> 
     <plugins> 
      <plugin> 
       <groupId>org.springframework.boot</groupId> 
       <artifactId>spring-boot-maven-plugin</artifactId> 
      </plugin>        
     </plugins>   
    </build> 


    <repositories> 

     <repository> 
      <id>spring-snapshots</id> 
      <name>Spring Snapshots</name> 
      <url>https://repo.spring.io/snapshot</url> 
      <snapshots> 
       <enabled>true</enabled> 
      </snapshots> 
     </repository> 
     <repository> 
      <id>spring-milestones</id> 
      <name>Spring Milestones</name> 
      <url>https://repo.spring.io/milestone</url> 
      <snapshots> 
       <enabled>false</enabled> 
      </snapshots> 
     </repository>  
    </repositories> 
    <pluginRepositories> 
     <pluginRepository> 
      <id>spring-snapshots</id> 
      <name>Spring Snapshots</name> 
      <url>https://repo.spring.io/snapshot</url> 
      <snapshots> 
       <enabled>true</enabled> 
      </snapshots> 
     </pluginRepository> 
     <pluginRepository> 
      <id>spring-milestones</id> 
      <name>Spring Milestones</name> 
      <url>https://repo.spring.io/milestone</url> 
      <snapshots> 
       <enabled>false</enabled> 
      </snapshots> 
     </pluginRepository> 
    </pluginRepositories> 



</project> 

So ist es möglich, irgendwie irgendwie LOG4J-over-slf4j von diesem pom zu entfernen?

+1

Sie müssen die [Abhängigkeitsbaum] sehen (http://maven.apache.org/plugins/maven-dependency-plugin/examples/resolving- conflicts-using-the-dependency-tree.html) und finde heraus, wo der 'log4j-over-sl4j' hinzugefügt wird. Und fügen Sie unter dieser Abhängigkeit einen Ausschluss hinzu. – Lucky

Antwort

0

ausschließen log4j-over-slf4j wie diese

<dependency> 
     <groupId>org.springframework.boot</groupId> 
     <artifactId>spring-boot-starter-aop</artifactId> 
     <exclusions> 
      <exclusion> 
       <artifactId>log4j-over-slf4j</artifactId> 
       <groupId>org.slf4j</groupId> 
      </exclusion> 
     </exclusions> 
    </dependency> 
+0

Lucky Kommentar löste es, einige andere Abhängigkeit hat es auch – USer22999299

Verwandte Themen