Wiosna - logowanie za pomocą Log4J
Jest to bardzo łatwa w użyciu funkcjonalność Log4J w aplikacjach Springa. Poniższy przykład poprowadzi Cię przez proste kroki, aby wyjaśnić prostą integrację między Log4J i Spring.
Zakładamy, że już masz log4Jzainstalowany na twoim komputerze. Jeśli go nie masz, możesz go pobrać zhttps://logging.apache.org/i po prostu wyodrębnij spakowany plik w dowolnym folderze. Użyjemy tylkolog4j-x.y.z.jar w naszym projekcie.
Następnie przygotujmy działające środowisko Eclipse IDE i podejmijmy następujące kroki, aby opracować aplikację internetową opartą na formularzu dynamicznym przy użyciu Spring Web Framework -
Kroki | Opis |
---|---|
1 | Utwórz projekt o nazwie SpringExample i utwórz pakiet com.tutorialspoint w obszarzesrc folder w utworzonym projekcie. |
2 | Dodaj wymagane biblioteki Spring za pomocą opcji Dodaj zewnętrzne pliki JAR , jak wyjaśniono w rozdziale Spring Hello World Example . |
3 | Dodaj do projektu bibliotekę log4j log4j-xyzjar, korzystając z opcji Dodaj zewnętrzne pliki JAR . |
4 | Utwórz klasy Java HelloWorld i MainApp w pakiecie com.tutorialspoint . |
5 | Utwórz plik konfiguracyjny Beans Beans.xml w obszarzesrc teczka. |
6 | Utwórz plik konfiguracyjny log4J log4j.properties wsrc teczka. |
7 | Ostatnim krokiem jest utworzenie zawartości wszystkich plików Java i pliku konfiguracyjnego Bean i uruchomienie aplikacji, jak wyjaśniono poniżej. |
Oto treść HelloWorld.java plik
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);
}
}
Poniżej znajduje się zawartość drugiego pliku 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");
}
}
Możesz generować debug i errorwiadomość w podobny sposób jak wygenerowaliśmy wiadomości informacyjne. Przyjrzyjmy się teraz zawartościBeans.xml plik
<?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>
Poniżej znajduje się treść log4j.properties który definiuje standardowe reguły wymagane dla Log4J do tworzenia komunikatów dziennika
# 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
Po utworzeniu plików źródłowych i konfiguracyjnych komponentów bean uruchom aplikację. Jeśli wszystko jest w porządku z Twoją aplikacją, spowoduje to wyświetlenie następującego komunikatu w konsoli Eclipse -
Your Message : Hello World!
Jeśli sprawdzisz dysk C: \\, powinieneś znaleźć swój plik dziennika log.out z różnymi komunikatami dziennika, na przykład następującymi -
<!-- initialization log messages -->
Going to create HelloWord Obj
Returning cached instance of singleton bean 'helloWorld'
Exiting the program
Jakarta Commons Logging (JCL) API
Alternatywnie możesz użyć Jakarta Commons Logging (JCL)API do generowania dziennika w Twojej aplikacji Spring. JCL można pobrać zhttps://jakarta.apache.org/commons/logging/. Jedynym plikiem, którego technicznie potrzebujemy z tego pakietu, jest plik commons-logging-xyzjar , który należy umieścić w ścieżce klas w podobny sposób, jak umieściłeś log4j-xyzjar w powyższym przykładzie.
Aby skorzystać z funkcji rejestrowania, potrzebujesz obiektu org.apache.commons.logging.Log, a następnie możesz wywołać jedną z następujących metod zgodnie z wymaganiami -
- fatal (komunikat o obiekcie)
- błąd (komunikat o obiekcie)
- ostrzeżenie (wiadomość o obiekcie)
- info (wiadomość o obiekcie)
- debugowanie (komunikat o obiekcie)
- trace (komunikat o obiekcie)
Poniżej przedstawiono zastąpienie pliku MainApp.java, który wykorzystuje interfejs 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");
}
}
Musisz upewnić się, że dołączyłeś do projektu plik commons-logging-xyzjar, przed skompilowaniem i uruchomieniem programu.
Pozostawiając resztę konfiguracji i zawartości bez zmian w powyższym przykładzie, jeśli skompilujesz i uruchomisz swoją aplikację, uzyskasz podobny wynik, jak ten, który otrzymałeś przy użyciu Log4J API.