log4jAan de slag met log4j


Opmerkingen

Deze sectie geeft een overzicht van wat log4j is en waarom een ontwikkelaar het misschien wil gebruiken.

Het moet ook alle grote onderwerpen binnen log4j vermelden en een link naar de gerelateerde onderwerpen bevatten. Aangezien de documentatie voor log4j nieuw is, moet u mogelijk eerste versies van die gerelateerde onderwerpen maken.

Log4j-levenscyclus

Log4j 1.x is aan het einde van de levensduur vanaf 5 augustus 2015. [1] [2]. Apache Log4j 2 is de opvolger van Log4j 1.x.

1 https://logging.apache.org/log4j/1.2/
[2] https://blogs.apache.org/foundation/entry/apache_logging_services_project_announces

versies

Versie Merk op Publicatiedatum
2.8 laatste versie 2017/01/21
2.7 2016/10/02
2.6.2 2016/07/09
2.4 Log4j 2.4 en hoger vereist Java 7 2015/09/20
2.3.6 laatste versie die java ondersteunt 6 2015/05/15
2.0 eerste stabiele versie van tak 2.x. Verbreekt API-compatibiliteit. Gebruik bridge: log4j-1.2-api.jar 2014/07/01
1.2.17 EOF log4j tak 1.x 2015/08/05

Installatie en instellingen

Installatie

De installatie van Log4j2 is net zo eenvoudig als het log4j2-potje in het klassepad van de toepassing plaatsen. Hoewel u misschien de uitvoer van logboeken wilt aanpassen via een extra configuratiebestand

Configuratie

maven

Om log4j toe te voegen aan het project in maven, voegt u de afhankelijkheid toe: In pom.xml voegt u de volgende afhankelijkheid toe:

<dependencies>
  <dependency>
    <groupId>org.apache.logging.log4j</groupId>
    <artifactId>log4j-api</artifactId>
    <version>${log4j2.version}</version>
  </dependency>
  <dependency>
    <groupId>org.apache.logging.log4j</groupId>
    <artifactId>log4j-core</artifactId>
    <version>${log4j2.version}</version>
  </dependency>
</dependencies>
 

springboot met maven

Spring-boot wordt vaak gebruikt voor webtoepassingen. Het biedt ondersteuning voor automatische configuratie voor veel functies, waaronder een loggevel zoals log4j2. Om log4j2 toe te voegen aan uw spring-boot project moet u ervoor zorgen dat u de standaard loggevel uitsluit: commons-logging. Log4j wordt gebruikt als het alleen de gevel op het klassenpad registreert.

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-jpa</artifactId>
        <!-- exclude spring-boot java commons logging in favour of log4j2 -->
        <exclusions>
            <exclusion>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-logging</artifactId>
            </exclusion>
        </exclusions>
    </dependency>
    <!-- add log4j2 to spring-boot: -->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-log4j2</artifactId>
    </dependency>
 

Merk op dat er geen versie in het bovenstaande fragment staat. Dit komt omdat het project de versie van de ouder overneemt. Zorg ervoor dat je ook erveert van spring-boot-starter-ouder, door toe te voegen:

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>1.3.3.RELEASE</version>
</parent>
 

klimop

Voeg in ivy.xml de volgende afhankelijkheid toe:

<dependencies>
  <dependency org="org.apache.logging.log4j" name="log4j-api" rev="${log4j2.version}" />
  <dependency org="org.apache.logging.log4j" name="log4j-core" rev="${log4j2.version}" />
</dependencies>
 

gradle

In uw .gradle-bestand:

dependencies {
  compile group: 'org.apache.logging.log4j', name: 'log4j-api', version: '2.6.2'
  compile group: 'org.apache.logging.log4j', name: 'log4j-core', version: '2.6.2'
}