Java >> Java tutorial >  >> Tag >> Log4j

Log4j Specifikt filplaceringseksempel

Denne artikel er en vejledning om at logge på filer på en bestemt placering. Vi tjekker først andre logningsmetoder og fortsætter derefter med at logge til en bestemt placering.

1. Introduktion

Log4J(Java) er den meget brugte logningsramme for Java. Det fortsætter med at vokse kontinuerligt med den seneste opgradering af Log4j2. Log4j hjælper med at logge filer til en fil eller konsol eller endda til en database. Log4j har tre grundlæggende komponenter til at understøtte logning – Logger, Appender og Layouts.

Logger udfører logningsaktiviteten og er interaktionspunktet for applikationen. Den bruges til at angive logningstilstand, navn på loggeren og leverer logfiler til logningsdestinationen ved hjælp af appenderen. Log4j understøtter flere foruddefinerede appenders og understøtter oprettelse af brugerdefinerede appenders. Appender udfører tungeløftet i log4j og forbinder loggeren til destinationen med den angivne tilstand.

Layout angiver visningsformatet for logfilerne. Almindelig brugt layout til Log4j er PatternLayout . Et prøvemønster er  %d [%t] %-5p (%F:%L) – %m%n. Formatstrengene  for mønsteret er som følger:

  • Dato –  Fuld dato indtil mikrosekunder
  • Tråd – JVM-tråd, der logger outputtet
  • Logningstilstand – INFO/FEJL/DEBUG/ADVARSEL
  • Klasse – Java-klasse, der logger outputtet
  • Linjenummer – Linjenummer i java-klassen
  • Besked – Beskeden logget
  • Standard linjeseparator -/n, medmindre andet er angivet

2. Konsollogning

Vi vil først se et eksempel på logning til konsol. Dette minder meget om at bruge  System.out.println . Differentiatoren er Log4j's evne til at understøtte logningstilstand og undertrykke logmeddelelser under den specificerede tærskel.

log4j.rootLogger=INFO, console
log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.Threshold=INFO
log4j.appender.console.Target=System.out
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.conversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} %-5p - %m%n
  • Logfiler føjes til konsollen som angivet i linje 4
  • Konverteringsmønster angiver visningsformatet for logfilerne

3. Fillogning

Konsollogfiler overlever ikke genstart af applikationer. I produktionskvalitetsapplikationer skal logfiler bevares til fremtidig analyse. Dette opnås ved at bruge en fillogger, der ligner konsollogger, men den logger bare på en specifik fil i stedet for konsol. Nedenfor vil vi se en simpel konfiguration til at logge på en fil uden placeringsspecifikation.

log4j.rootLogger=INFO, fileLogger
log4j.appender.fileLogger.layout=org.apache.log4j.PatternLayout
log4j.appender.fileLogger.layout.ConversionPattern=%d [%t] %-5p (%F:%L) - %m%n
log4j.appender.fileLogger.File=example.log
log4j.appender.fileLogger=org.apache.log4j.DailyRollingFileAppender
log4j.appender.fileLogger.datePattern='.'yyyy-MM-dd-HH-mm

Ovenstående konfiguration repræsenterer en DailyRollingFileAppender . Dette logger output til en specifik fil eksempel.log. Filen oprettes under programmets kørende mappe. Appender roterer logfilen på daglig basis. Programmapper ryddes under fortløbende implementering. Derfor afhjælper det ikke bekymringerne ved den tidligere tilgang.

4. Fillogning til placering

Den anbefalede tilgang er at logge filer til en bestemt placering i det installerede miljø. Dette opnås nemt ved at udvide vores tidligere eksempel. Vi skal blot angive placeringen under File ejendom.

log4j.rootLogger=INFO, fileLogger
log4j.appender.fileLogger.layout=org.apache.log4j.PatternLayout
log4j.appender.fileLogger.layout.ConversionPattern=%d [%t] %-5p (%F:%L) - %m%n
log4j.appender.fileLogger.File=/opt/logs/example.log
log4j.appender.fileLogger=org.apache.log4j.DailyRollingFileAppender
log4j.appender.fileLogger.datePattern='.'yyyy-MM-dd-HH-mm

Det vigtigste at holde øje med er, at filplaceringen er blevet specificeret for File ejendom. Dette styrer placeringen af ​​output og sikrer, at logfiler sikkerhedskopieres til fremtidig inspektion.

5. Udførelsestrin

  1. Opret et simpelt Java-projekt i eclipse
  2. Download log4j jar og inkluder i dit projekt ved at klikke på Project Properties -> Java Build Path -> Libraries -> Add Jars
  3. Kopiér nedenstående java-kode i projektet
  4. Inkluder en enkelt vedhæfter i dit projekt ad gangen
  5. Stop det kørende projekt i formørkelse efter 5 minutter for at se forskellige logfiler

Java Logger-klasse

package com.jcg.examples;
package com.jcg.examples;
import org.apache.log4j.Logger;
public class LoggerMain {
	public static final Logger logger = Logger.getLogger(LoggerMain.class);
	public static void main(String[] args) {
		while (true) {
			logger.info("This is a test log");
		}
	}
}

6. Resumé

I denne tutorial så vi logning til en bestemt filplacering i log4j ved hjælp af eksempler.

7. Download kildekoden

Download
Du kan downloade den fulde kildekode for dette eksempel her:Log4j Specifikt filplaceringseksempel

Java tag