Beispiel für eine Java-Standardprotokollausgabe

Einführung

Diese Protokollausgabemethode dient zur Ausgabe des Protokolls zum Zeitpunkt der Stapelausführung und wird nicht empfohlen, da in der WEB-Anwendung usw. Protokollrot usw. vorhanden sind. Es ist besser, Log4j gehorsam zu verwenden.

In einem System, in dem Log4j aus irgendeinem Grund nicht verwendet werden kann (ich weiß nicht, ob es überhaupt enthalten ist), wurde mir jedoch gesagt, dass "Protokolle System.out.println () sein können", und ich dachte "Warte eine Minute", also werde ich es zusammenfassen. .. Gewöhnliche Leute benutzen es nicht.

Protokollformatierer


public class BatchLogFomatter extends SimpleFormatter {

       public String format(LogRecord logRecord) {
          final StringBuffer stringBuffer = new StringBuffer();

          //Datumsformat
          //Diese Charge sollte keine threadbewusste Charge sein,
          //Ich mache mir Sorgen, es in eine Klassenvariable zu setzen, also schreibe es im Format
          DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
       
          stringBuffer.append(dateFormat.format(new Date(logRecord.getMillis())));
          stringBuffer.append(" ");

          Level level = logRecord.getLevel();
          //Aus irgendeinem Grund werden FINE und darunter nicht angezeigt. Stellen Sie daher vorerst nur FINE und darunter ein.
          //Die Namen wurden in CONF, INFO, WARN und ERROR geändert.
          //Anzeigeeinstellungen (DEBUG)=Sagen wir CONF.
          if (level == Level.FINEST) {
             stringBuffer.append("FINEST");
          } else if (level == Level.FINER) {
             stringBuffer.append("FINER ");
          } else if (level == Level.FINE) {
             stringBuffer.append("FINE ");
          } else if (level == Level.CONFIG) {
             stringBuffer.append("CONF");
          } else if (level == Level.INFO) {
             stringBuffer.append("INFO ");
          } else if (level == Level.WARNING) {
             stringBuffer.append("WARN ");
          } else if (level == Level.SEVERE) {
             stringBuffer.append("ERROR ");
          }
          
          stringBuffer.append(" ");
          //Der Klassenname wird eingegeben (ich weiß nicht, was es hier ist)
          stringBuffer.append(logRecord.getLoggerName());
          stringBuffer.append(" - ");
          //Nachricht wird angezeigt
          stringBuffer.append(logRecord.getMessage());
          //Vergessen Sie nicht die Zeilenumbrüche.
          stringBuffer.append("\n");

          // 2017-10-05 18:52:57.592 INFO  hoge.FugaBatch -Starten Sie die Stapelausführung
          //Ich bekomme ein Protokoll wie
          return stringBuffer.toString();
          
       }
}

Montageseite


public class LogTest {

	static final Logger logger = Logger.getLogger(LogTest.class.getName());
	
	static {
		ConsoleHandler handler = new ConsoleHandler();
		//Protokollstufe ändern
                //Selbst wenn es ALLES ist, kommt die folgende FEIN nicht heraus ...
		handler.setLevel(Level.ALL);
		handler.setFormatter(new BatchLogFomatter());
		logger.addHandler(handler);
		//Wenn dies nicht enthalten ist, wird das Protokoll dupliziert
		logger.setUseParentHandlers(false);

	}
	
	public static void main (String[] args) {
		logger.info("Raus mit INFO");
	}

}

Am Ende

Da es sich um eine Stapelausführung handelt, ist die Protokolldatei immer getrennt. Machen Sie sich also keine Gedanken über die Details Ich versuche nur das Protokoll auszugeben. Gibt es einen besseren Weg, um ein Protokoll zu erhalten?

Recommended Posts

Beispiel für eine Java-Standardprotokollausgabe
Informationen zur Java-Protokollausgabe
Beispiel für die Ausgabe eines Parameterprotokollprotokolls Java & Spring MVC
Beispielcode für die Protokollausgabe von Java + SLF4J + Logback
Protokollausgabe in Datei in Java
[Java] Ausgabe, Variablen
[Java] Generics-Beispiel
Java-Beispielcode 02
Java-Beispielcode 03
Selenprobe (Java)
Java GUI Beispiel
Java Standard Logger
Java-Beispielcode 04
Java-Beispielcode 01
[Java] Färben Sie die Standardausgabe an das Terminal
Java-Standardfunktionstyp-Schnittstelle
[Java] GlassFish 5-Fehlerbehebungsdatensatz
[Java] logback slf4j Beispiel
Beispielprogramm für die Eingabe / Ausgabe von Java-Dateien (jdk1.8 oder höher)
Paiza Skill Check Standard Eingabe / Ausgabe Zusammenfassung [Java Edition]
Java-Memo-Teilzeichenfolge (Standardklasse)
Java Parallel Code Sample Collection
Länge des Java-Memos (Standardklasse)
Lesen Sie die Standardeingabe in Java
[Java] Liste der betriebssystemabhängigen Standardbibliotheken
Richtige Protokollausgabemethode unter Android (Standardprotokollklasse vs AnkoLogger)
Protokollieren Sie den Java NullPointerException-Stack-Trace
Selenium Musterbuchungsformular (Java)
[Java] Ich möchte Standardeingabe und Standardausgabe mit JUnit testen
Verwenden Sie Microsoft Graph mit Standard-Java
[Java] Ausgabe von DateTimeFormatter durch FormatStyle
[Java] Mehrdimensionale Array- / Tabellenberechnung ausgeben (AOJ⑥-Tabellenberechnung)
Java 9 neue Funktionen und Beispielcode
Ein einfaches Beispiel für Rückrufe in Java
PDF und TIFF mit Java 8 ausgeben
BloomFilter-Beschreibungs- und Implementierungsbeispiel (JAVA)
[Java] Beispiel für eine Überprüfung des Datumszeitraums
Beispiel für eine EXCEL-Dateiaktualisierung mit JAVA
Protokollausgabe der WebServiceTemplate-Anforderung / Antwort
Spring Data JPA SQL-Protokollausgabe
Beispielautomat mit Java
Beispielcode mit Minio aus Java