Учебники

Весна — Вход с Log4J

Это очень простая в использовании функция Log4J в приложениях Spring. Следующий пример проведет вас через простые шаги, чтобы объяснить простую интеграцию между Log4J и Spring.

Мы предполагаем, что на вашем компьютере уже установлен log4J . Если у вас его нет, вы можете скачать его с https://logging.apache.org/ и просто распаковать архив в любую папку. Мы будем использовать только log4j-xyzjar в нашем проекте.

Далее, давайте создадим рабочую среду Eclipse и предпримем следующие шаги для разработки веб-приложения на основе динамических форм с использованием Spring Web Framework:

меры Описание
1 Создайте проект с именем SpringExample и создайте пакет com.tutorialspoint в папке src в созданном проекте.
2 Добавьте необходимые библиотеки Spring с помощью параметра « Добавить внешние JAR-файлы», как описано в главе « Пример Hello World» .
3 Добавьте библиотеку log4j и log4j-xyzjar в свой проект, используя Добавить внешние JAR-файлы .
4 Создайте классы Java HelloWorld и MainApp в пакете com.tutorialspoint .
5 Создайте файл конфигурации Beans Beans.xml в папке src .
6 Создайте файл конфигурации log4J log4j.properties в папке src .
7 Последний шаг — создать содержимое всех файлов Java и файла конфигурации Bean и запустить приложение, как описано ниже.

Вот содержимое файла HelloWorld.java

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);
   }
}

Ниже приводится содержание второго файла 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");
   }
}

Вы можете генерировать сообщения об отладке и ошибках аналогично тому, как мы генерировали информационные сообщения. Теперь давайте посмотрим содержимое файла Beans.xml

<?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>

Ниже приводится содержание log4j.properties, которое определяет стандартные правила, необходимые для Log4J для создания сообщений журнала

# 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

Как только вы закончили создавать файлы конфигурации исходного кода и bean-компонента, давайте запустим приложение. Если с вашим приложением все в порядке, в консоли Eclipse будет напечатано следующее сообщение:

Your Message : Hello World!

Если вы проверите свой диск C: \\, то вы должны найти свой файл журнала log.out с различными сообщениями журнала, например, как показано ниже:

<!-- initialization log messages -->

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

Jakarta Commons Logging (JCL) API

В качестве альтернативы вы можете использовать API Jakarta Commons Logging (JCL) для создания журнала в приложении Spring. JCL можно загрузить с https://jakarta.apache.org/commons/logging/ . Единственный файл, который нам технически нужен из этого пакета, это файл commons-logging-xyzjar , который нужно поместить в ваш путь к классу так же, как вы поместили log4j-xyzjar в приведенном выше примере.

Для использования функции ведения журнала вам необходим объект org.apache.commons.logging.Log, а затем вы можете вызвать один из следующих методов в соответствии с вашим требованием:

  • фатальный (объект сообщения)
  • ошибка (объектное сообщение)
  • предупреждение (объект сообщения)
  • info (объект сообщения)
  • отладка (объект сообщения)
  • трассировка (объектное сообщение)

Ниже приводится замена MainApp.java, которая использует 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");
   }
}

Вы должны убедиться, что вы включили файл commons-logging-xyzjar в свой проект, прежде чем компилировать и запускать программу.

Теперь, оставив остальную часть конфигурации и содержимого без изменений в приведенном выше примере, если вы скомпилируете и запустите свое приложение, вы получите результат, аналогичный тому, который вы получили, используя Log4J API.