Erstellen Sie einen benutzerdefinierten Formatierer für den Logger-Handler

Dieses Beispiel zeigt, wie man einen einfachen benutzerdefinierten Formatter für die Protokollierung in Java schreibt. Java bietet java.util.Formatter Klasse zur Erweiterung des Nachrichtenformats, die auf die Handler angewendet werden kann. In unserem vorherigen Beispiel habe ich erklärt, wie man die Protokollierungshandler schreibt.

Wenn Sie die benutzerdefinierten Formatierer schreiben möchten, müssen Sie den java.util.Formatter erweitern und das Format (LogRecord) mit Ihrer eigenen Implementierung überschreiben. Wenn Sie sich das Beispiel ansehen, können Sie Ihren eigenen Text vor und nach den Protokollmeldungen verwenden. Dieser Formatierer wird jedes Mal aufgerufen, wenn Protokollnachrichten gedruckt werden.

lesen Sie auch:

  • Komprimieren Sie Dateien mit Java in das ZIP-Format
  • Komprimieren und dekomprimieren Sie eine Zip-Datei
  • Sperren von Dateien mit Java

Schauen wir uns das Beispiel an.

JavaLoggerFormatterExample.java

package javabeat.net.java.core;

import java.io.IOException;
import java.util.logging.FileHandler;
import java.util.logging.Level;
import java.util.logging.Logger;

/**
 * Simple Java Logger Handler example
 *
 * @author Krishna
 *
 */
public class JavaLoggerFormatterExample {
	private static final Logger LOGGER = Logger.getLogger(JavaLoggerFormatterExample.class.getName());
	public static void main(String[] args) throws SecurityException, IOException {
		String str = null;

		//Creating the log handlers
		FileHandler fileHandler = new FileHandler("javabeat.log");
		fileHandler.setFormatter(new CustomFormatter());

		//Add handlers to the logger
		LOGGER.addHandler(fileHandler);

		//set the levels for each handler
		fileHandler.setLevel(Level.ALL);
		LOGGER.setLevel(Level.ALL);

		LOGGER.info("Logger Name: "+LOGGER.getName());
		LOGGER.warning("Can cause NullPointerException");
		try{
			System.out.println(str.toString());
		}catch(NullPointerException ex){
			LOGGER.log(Level.SEVERE, "Exception occur", ex);
		}
	}
}

CustomFormatter.java

package javabeat.net.java.core;

import java.util.Date;
import java.util.logging.Formatter;
import java.util.logging.LogRecord;

/**
 * Example for Custom Formatter
 *
 * @author Krishna
 *
 */
public class CustomFormatter extends Formatter{
	@Override
	public String format(LogRecord record) {
		StringBuffer sb = new StringBuffer();
		sb.append("\nLogged message on Date "+new Date().getDate() +" : ");
		sb.append(record.getMessage());
		return sb.toString();
	}
}

Ausgabe…


Logged message on Date 23 : Logger Name: javabeat.net.java.core.JavaLoggerFormatterExample
Logged message on Date 23 : Can cause NullPointerException
Logged message on Date 23 : Exception occur

Kommentar verfassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Nach oben scrollen