Spring - Penebangan dengan Log4J

Ini adalah fungsionalitas Log4J yang sangat mudah digunakan di dalam aplikasi Spring. Contoh berikut akan memandu Anda melalui langkah-langkah sederhana untuk menjelaskan integrasi sederhana antara Log4J dan Spring.

Kami menganggap Anda sudah memilikinya log4Jdipasang di mesin Anda. Jika Anda tidak memilikinya, Anda dapat mengunduhnya darihttps://logging.apache.org/dan cukup ekstrak file zip tersebut di folder mana saja. Kami hanya akan menggunakanlog4j-x.y.z.jar dalam proyek kami.

Selanjutnya, mari kita memiliki IDE Eclipse yang berfungsi dan mengambil langkah-langkah berikut untuk mengembangkan Aplikasi Web berbasis Formulir Dinamis menggunakan Spring Web Framework -

Langkah Deskripsi
1 Buat proyek dengan nama SpringExample dan buat paket com.tutorialspoint di bawahsrc folder dalam proyek yang dibuat.
2 Tambahkan pustaka Spring yang diperlukan menggunakan opsi Add External JARs seperti yang dijelaskan di bab Contoh Spring Hello World .
3 Tambahkan juga perpustakaan log4j log4j-xyzjar di proyek Anda menggunakan Tambahkan JAR Eksternal .
4 Buat kelas Java HelloWorld dan MainApp di bawah paket com.tutorialspoint .
5 Buat file konfigurasi Beans Beans.xml di bawahsrc map.
6 Buat file konfigurasi log4J log4j.properties di bawahsrc map.
7 Langkah terakhir adalah membuat konten dari semua file Java dan file Konfigurasi Bean dan menjalankan aplikasi seperti yang dijelaskan di bawah ini.

Berikut adalah konten dari HelloWorld.java mengajukan

package com.tutorialspoint;

public class HelloWorld {
   private String message;
   
   public void setMessage(String message){
      this.message  = message;
   }
   public void getMessage() {
      System.out.println("Your Message : " + message);
   }
}

Berikut adalah isi dari file kedua MainApp.java

package com.tutorialspoint;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.apache.log4j.Logger;

public class MainApp {
   static Logger log = Logger.getLogger(MainApp.class.getName());
   
   public static void main(String[] args) {
      ApplicationContext context = new ClassPathXmlApplicationContext("Beans.xml");
      log.info("Going to create HelloWord Obj");
      HelloWorld obj = (HelloWorld) context.getBean("helloWorld");
      obj.getMessage();
      
      log.info("Exiting the program");
   }
}

Anda bisa menghasilkan debug dan errorpesan dengan cara yang sama seperti yang kita buat pesan info. Sekarang mari kita lihat isinyaBeans.xml mengajukan

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

<beans xmlns = "http://www.springframework.org/schema/beans"
   xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance"
   xsi:schemaLocation = "http://www.springframework.org/schema/beans
   http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">

   <bean id = "helloWorld" class = "com.tutorialspoint.HelloWorld">
      <property name = "message" value = "Hello World!"/>
   </bean>

</beans>

Berikut ini adalah konten dari log4j.properties yang mendefinisikan aturan standar yang diperlukan untuk Log4J untuk menghasilkan pesan log

# Define the root logger with appender file
log4j.rootLogger = DEBUG, FILE

# Define the file appender
log4j.appender.FILE=org.apache.log4j.FileAppender
# Set the name of the file
log4j.appender.FILE.File=C:\\log.out

# Set the immediate flush to true (default)
log4j.appender.FILE.ImmediateFlush=true

# Set the threshold to debug mode
log4j.appender.FILE.Threshold=debug

# Set the append to false, overwrite
log4j.appender.FILE.Append=false

# Define the layout for file appender
log4j.appender.FILE.layout=org.apache.log4j.PatternLayout
log4j.appender.FILE.layout.conversionPattern=%m%n

Setelah Anda selesai membuat file konfigurasi source dan bean, mari kita jalankan aplikasi. Jika semuanya baik-baik saja dengan aplikasi Anda, ini akan mencetak pesan berikut di konsol Eclipse -

Your Message : Hello World!

Jika Anda memeriksa drive C: \\, Anda akan menemukan file log Anda log.out dengan berbagai pesan log, seperti sebagai berikut -

<!-- initialization log messages -->

Going to create HelloWord Obj
Returning cached instance of singleton bean 'helloWorld'
Exiting the program

API Jakarta Commons Logging (JCL)

Atau Anda bisa menggunakan Jakarta Commons Logging (JCL)API untuk menghasilkan log di aplikasi Spring Anda. JCL dapat diunduh darihttps://jakarta.apache.org/commons/logging/. Satu-satunya file yang secara teknis kami butuhkan dari paket ini adalah file commons-logging-xyzjar , yang perlu ditempatkan di classpath Anda dengan cara yang sama seperti yang Anda lakukan pada log4j-xyzjar pada contoh di atas.

Untuk menggunakan fungsionalitas logging Anda memerlukan objek org.apache.commons.logging.Log dan kemudian Anda dapat memanggil salah satu metode berikut sesuai kebutuhan Anda -

  • fatal (Objek pesan)
  • error (Objek pesan)
  • memperingatkan (Objek pesan)
  • info (Objek pesan)
  • debug (Objek pesan)
  • jejak (Objek pesan)

Berikut adalah penggantian MainApp.java yang menggunakan JCL API

package com.tutorialspoint;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.apache.commons.logging. Log;
import org.apache.commons.logging. LogFactory;

public class MainApp {
   static Log log = LogFactory.getLog(MainApp.class.getName());

   public static void main(String[] args) {
      ApplicationContext context = new ClassPathXmlApplicationContext("Beans.xml");
      log.info("Going to create HelloWord Obj");
      HelloWorld obj = (HelloWorld) context.getBean("helloWorld");
      obj.getMessage();

      log.info("Exiting the program");
   }
}

Anda harus memastikan bahwa Anda telah menyertakan file commons-logging-xyzjar dalam proyek Anda, sebelum menyusun dan menjalankan program.

Sekarang dengan menjaga konfigurasi dan konten lainnya tidak berubah pada contoh di atas, jika Anda mengkompilasi dan menjalankan aplikasi Anda, Anda akan mendapatkan hasil yang sama seperti yang Anda dapatkan dengan menggunakan Log4J API.