Spring MVC - Integrasikan Contoh LOG4J

Contoh berikut menunjukkan bagaimana mengintegrasikan LOG4J menggunakan Spring Web MVC Framework. Untuk memulai, mari kita memiliki IDE Eclipse yang berfungsi dan tetap mengikuti langkah-langkah berikut untuk mengembangkan Aplikasi Web berbasis Formulir Dinamis menggunakan Spring Web Framework.

Langkah Deskripsi
1 Buat proyek dengan nama TestWeb di bawah paket com.tutorialspoint seperti yang dijelaskan dalam bab Spring MVC - Hello World.
2 Buat kelas Java HelloController di bawah com.tutorialspointpackage.
3 Unduh perpustakaan log4j LOG4J dari halaman repositori maven. Taruh di CLASSPATH Anda.
4 Buat log4j.properties di bawah folder SRC.
5 Langkah terakhir adalah membuat konten file sumber dan konfigurasi dan mengekspor aplikasi seperti yang dijelaskan di bawah ini.

HelloController.java

package com.tutorialspoint;

import org.apache.log4j.Logger;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.ui.ModelMap;

@Controller
@RequestMapping("/hello")
public class HelloController{
   private static final Logger LOGGER = Logger.getLogger(HelloController.class);
   @RequestMapping(method = RequestMethod.GET)
   public String printHello(ModelMap model) {
      LOGGER.info("printHello started.");

      //logs debug message
      if(LOGGER.isDebugEnabled()){
         LOGGER.debug("Inside:  printHello");
      }
      //logs exception
      LOGGER.error("Logging a sample exception", new Exception("Testing"));

      model.addAttribute("message", "Hello Spring MVC Framework!");
      LOGGER.info("printHello ended.");
      return "hello";
   }
}

log4j.properties

# 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
log4j.appender.file = org.apache.log4j.RollingFileAppender
#outputs to Tomcat home
log4j.appender.file.File = ${catalina.home}/logs/myapp.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

TestWeb-servlet.xml

<beans xmlns = "http://www.springframework.org/schema/beans"
   xmlns:context = "http://www.springframework.org/schema/context"   
   xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance"
   xmlns:mvc = "http://www.springframework.org/schema/mvc"
   xsi:schemaLocation = "
   http://www.springframework.org/schema/beans     
   http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
   http://www.springframework.org/schema/context 
   http://www.springframework.org/schema/context/spring-context-3.0.xsd
   http://www.springframework.org/schema/mvc
   http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd">
   <context:component-scan base-package = "com.tutorialspoint" />

   <bean class = "org.springframework.web.servlet.view.InternalResourceViewResolver">
      <property name = "prefix" value = "/WEB-INF/jsp/" />
      <property name = "suffix" value = ".jsp" />
   </bean>
</beans>

hello.jsp

<%@ page contentType = "text/html; charset = UTF-8" %>
<html>
   <head>
      <title>Hello World</title>
   </head>
   <body>
      <h2>${message}</h2>
   </body>
</html>

Di sini, kami telah mengkonfigurasi LOG4J ke detail log di konsol Tomcat dan di file yang ada di & t; tomcat home → log sebagai myapp.log.

Setelah Anda selesai membuat file sumber dan konfigurasi, ekspor aplikasi Anda. Klik kanan pada aplikasi Anda, gunakanExport → WAR File opsi dan simpan TestWeb.war file di folder webapps Tomcat.

Sekarang, jalankan server Tomcat dan pastikan Anda dapat mengakses halaman web lain dari folder webapps menggunakan browser standar. Coba URL -http://localhost:8080/TestWeb/hello dan kita akan melihat layar berikut di log Tomcat.