Log4j – Esempio Con File di Configurazione Properties

Log4j è un framework usato per il  logging delle applicazioni. Ha due componenti principali:

  • ll file di configurazione, può avere una estensione  .xml o .properties. In questo esempio useremo l’estensione .properties.
  • La classe Loggeristanziata in ogni classe da loggare

tools:

  • Eclipse Mars
  • Wildfly 10
  • Log4j 1.2.17

Esempio

Dal menù:

File–>New–>Others

Selezionare “Maven Project”  e premere il tasto “Next

Log4J

Checkare “Create simple project (skip archetype selection)” e premere “Next

log4j figura 2

Inserire i seguenti valori:

GroupId: Esempio

ArtifactId: HelloWorldLog4J

Version: 0.0.1-SNAPSHOT

Packaging: war

Premere “Finish

Nel file pom.xml aggiungere il seguente sorgente:

[xml]

<project xmlns=”http://maven.apache.org/POM/4.0.0″ xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance”<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>Esempio</groupId>

<artifactId>HelloWorldLog4j</artifactId>

<version>0.0.1-SNAPSHOT</version>

<packaging>war</packaging>
<dependencies> <dependency>

<groupId>javax</groupId>

<artifactId>javaee-api</artifactId>

<version>7.0</version>

<scope>provided</scope>

</dependency> <dependency>

<groupId>log4j</groupId>

<artifactId>log4j</artifactId>

<version>1.2.17</version>

</dependency>

<dependency>

<groupId>jstl</groupId>

<artifactId>jstl</artifactId>

<version>1.2</version>

</dependency>

</dependencies>

</project>

[/xml]

Creare la classe Prova.java. Selezionare

File–>New–>Other–>Class

e premere “Next

Inserire i seguenti valori:

Package: com

Name: Prova

premere “Finish

Dentro Prova.java inserire il seguente codice:

Prova.java

[java]

package com;package com;
import java.io.IOException;
import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;
import org.apache.log4j.Logger;
/** * Servlet implementation class Prova */

public class Prova extends HttpServlet {

private static final long serialVersionUID = 1L;

final static Logger log = Logger.getLogger(Prova.class);
/**     * Default constructor.      */

public Prova() {        // TODO Auto-generated constructor stub    }
/** * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) */

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub log.info(“ciao  info”); log.debug(“ciao debug”); log.trace(“ciao trace”); response.getWriter().append(“Served at: “).append(request.getContextPath()); }
/** * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) */ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub doGet(request, response); }
}

[/java]

Modificare il web.xml aggiungendo le seguenti righe:

web.xml

[xml]

<?xml version=”1.0″ encoding=”UTF-8″?>
<web-app xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance” xmlns=”http://java.sun.com/xml/ns/javaee” xsi:schemaLocation=”http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd” version=”2.5″>
<display-name>HelloWorldLog4j</display-name>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
<servlet>
<description></description>
<display-name>Prova</display-name>
<servlet-name>Prova</servlet-name>
<servlet-class>com.Prova</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Prova</servlet-name>
<url-pattern>/Prova</url-pattern>
</servlet-mapping>
</web-app>

[/xml]

Creare un file di properties,   di nome “log4j.properties“, dentro la cartella resources.

Aggiungere il seguente contenuto nel file appena creato..

log4j.properties

[java]

# Root logger option
log4j.rootLogger=DEBUG, stdout, file

# Redirect log messages to console
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L – %m%n

# Redirect log messages to a log file, support file rolling.
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=C:\\LIB\\prova.log
log4j.appender.file.MaxFileSize=5MB
log4j.appender.file.MaxBackupIndex=10
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L – %m%n

[/java]

Cliccare con il tasto destro sul server e selezionare “Add and Remove

Selezionare il progetto “HelloWorldLog4J” e premere i tasti “Add” e “Finish

Startare il server e digitare il seguente indirizzo sul browser:

http://localhost:8080/HelloWorldLog4j/Prova

Nella console appariranno le scritte loggate

log4j

Stessa cosa nel file di log indicato nella property

log4j.appender.file.File=C:\\LIB\\prova.log

Download Sorgenti Intero Progetto

HelloWorldLog4j   

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *