[JAVA] Format der Protokollausgabe von Tomcat selbst in Tomcat 8

** Hinweise zur Migration von Tomcat 7 auf Tomcat 8 **

Wechselpunkt

catalina.out


2015/01/16 9:26:31 org.apache.catalina.core.StandardService startInternal
Information:Starten Sie den Dienst Catalina

catalina.out


16-Jan-2015 9:26:31.518 INFO [main] org.apache.catalina.core.StandardService.startInternal service Starten Sie Catalina

Was zwei Zeilen waren, wurde in eine Zeile geändert.

Zurück zu 2 Zeilen

Um dies auf die beiden ursprünglichen Zeilen zurückzuführen, gehen Sie zum folgenden Teil von conf / logging.properties

conf/logging.properties


java.util.logging.ConsoleHandler.formatter = org.apache.juli.OneLineFormatter

Wenn Sie wie folgt wechseln, werden die gleichen zwei Zeilen wie in Tomcat 7 angezeigt. (OneLineFormatter-> SimpleFormatter)

conf/logging.properties


java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter

Dies zeigt zwei Zeilen an, wie unten gezeigt.

catalina.out


1 15, 2015 12:06:25 Uhr org.apache.catalina.core.StandardService startInternal
Information:Starten Sie den Dienst Catalina

Wenn Sie genau hinschauen, hat sich auch das Datumsformat geändert

Bisher wurde es von format verarbeitet, das von java.util.logging.SimpleFormatter gehalten wird. Das von Java 7 mit getSimpleFormat von sun.util.logging.LoggingSupport erhaltene Format wird verwendet.

Durch Hinzufügen der folgenden Elemente zu Tomcats conf / logging.properties können dieselben Inhalte wie in Java 6 abgerufen werden.

conf/logging.properties


java.util.logging.SimpleFormatter.format = %1$tY/%1$tm/%1$td %1$tk:%1$tM:%1$tS %2$s%n%4$s: %5$s%6$s%n

Es ist endlich das gleiche wie Tomcat 7 + Java 6.

catalina.out


2015/01/16 9:26:31 org.apache.catalina.core.StandardService startInternal
Information:Starten Sie den Dienst Catalina

Zusatzinformationen

Quelle zur Überprüfung des Datumsformats

package jp.kajiken.format;

import java.text.MessageFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
import java.util.logging.Level;
import java.util.logging.LogRecord;
import java.util.logging.SimpleFormatter;

public class TestFormat {

	public static void main(String[] args) {
		//Datum zum Testen
		Calendar cal = new GregorianCalendar(2015, 0, 2, 8, 50, 59);
		Date dat = new Date(cal.getTimeInMillis());

		// Java6
		System.out.print(new MessageFormat("{0,date} {0,time}").format(new Object[]{dat}));
		System.out.println(" org.apache.catalina.core.StandardService startInternal");
		System.out.println("Information:Starten Sie den Dienst Catalina");
		System.out.println("---");

		// Java7
		System.setProperty("java.util.logging.SimpleFormatter.format",
				"%1$tY/%1$tm/%1$td %1$tk:%1$tM:%1$tS %2$s%n%4$s: %5$s%6$s%n");
		LogRecord log = new LogRecord(Level.INFO, "Starten Sie den Dienst Catalina");
		log.setSourceClassName("org.apache.catalina.core.StandardService");
		log.setSourceMethodName("startInternal");
		log.setMillis(dat.getTime());
		SimpleFormatter sf = new SimpleFormatter();
		System.out.println(sf.format(log));
	}
}

Ausführungsergebnis

stdout


2015/01/02 8:50:59 org.apache.catalina.core.StandardService startInternal
Information:Starten Sie den Dienst Catalina
---
2015/01/02 8:50:59 org.apache.catalina.core.StandardService startInternal
Information:Starten Sie den Dienst Catalina

Ich konnte den Zustand vor dem Übergang erfolgreich reproduzieren. Der Grund dafür ist, dass es ein vorhandenes Skript gab, das mit dieser Zeichenfolge verarbeitet wurde ...

Recommended Posts

Format der Protokollausgabe von Tomcat selbst in Tomcat 8
Spring Boot-Protokoll im JSON-Format ausgeben
Geben Sie das Datum (z. B. JJJJ-MM-TT) in die Protokolldatei ein, die per Logback ausgegeben wird
Ausgabe in Vielfachen von 3
Bereiten Sie die Ausführungsumgebung von Tomcat in der IntelliJ Community vor
Greifen Sie auf die War-Datei im Stammverzeichnis von Tomcat zu
Finden Sie mit Swift eine Annäherung an log (1 + x)
Protokollausgabe im Json-Format mit lograge / lograge-sql mit RubyOnRails
Installieren Sie, indem Sie die Version von Django in der Docker-Umgebung angeben
Ich möchte die Protokollausgabeeinstellung von UtilLoggingJdbcLogger ändern
Rufen Sie in Spring Boot eine Proxy-Instanz der Komponente selbst ab
Geben Sie die Differenz zwischen jedem Feld zweier Objekte in Java aus
[Java] Ausgabe von DateTimeFormatter durch FormatStyle
Implementierung der asynchronen Verarbeitung in Tomcat
Protokollausgabe in Datei in Java
Ersetzen Sie die Vorschau durch Hochladen, indem Sie auf das Bild in file_field of Rails klicken
Protokollausgabe der WebServiceTemplate-Anforderung / Antwort
Reihenfolge der Verarbeitung im Programm
Informationen zur Protokollebene von java.util.logging.Logger
[Java] Ausgabe durch Angabe des Formats mit printf% s,% d,% f [Formatbezeichner]
Holen Sie sich das Ergebnis von POST in Java
Ausgabesystemprotokoll mit Spring AOP-Technologie
Die Identität der Schienenparameter [: id]
Implementierung einer mandantenfähigen kompatiblen asynchronen Verarbeitung in Tomcat
Geben Sie den HTTP-Header des zu protokollierenden Google-http-Clients aus
Ausgabedatum in Java im erweiterten ISO 8601-Format
Ausgabe des Buches "Einführung in Java"
Die Geschichte des Schreibens von Java in Emacs
Formatieren Sie den Inhalt von LocalDate mit DateTimeFormatter
Der Inhalt der von CarrierWave gespeicherten Daten.
Nach mehreren Feldern in der Klasse sortieren
Schreiben Sie die Bewegung von Rakefile in das Runbook
Überprüfen Sie den Inhalt der Protokollausgabe während des Java-Komponententests (kein Mock verwendet).
Fügen Sie der URL, die von <h: outputScript> <h: outputStylesheet> von JSF ausgegeben wird, beliebige Parameter hinzu
Benennen und rufen Sie in Ruby übergeordnete Klassenmethoden explizit auf
Seien Sie beim Upgrade vorsichtig, wenn Sie | usw. in der Tomcat-URL verwenden
Formatieren Sie das von created_at angegebene Datum und die Uhrzeit
[Bestellmethode] Legen Sie die Reihenfolge der Daten in Rails fest
Hat sich der Inhalt von useBodyEncodingForURI von Tomcat8 geändert?
Verhindern von Fehlern im Logger-Namen durch Kopieren
[Apache Camel] Einfacher Durchsatz in einem Protokoll ausgeben
Die Geschichte des einfachen String-Vergleichs in Java
[Java] Behandlung von Java Beans in der Methodenkette
Die Geschichte eines gewöhnlichen Othello in Java
Über die Idee anonymer Klassen in Java
Die Geschichte des Lernens von Java in der ersten Programmierung
Messen Sie die Größe eines Ordners mit Java
Anforderungs- und Antwortprotokolle mit Spring Boot ausgeben
Bereiten Sie die Protokollausgabe mit log4j in Eclipse vor.
Log4j 2 Grundlegendes zu den Konzepten des Protokollsystems
Verwalten Sie die Version von Ruby selbst mit rbenv
Spüren Sie den Lauf der Zeit auch in Java
Ausgabe der Verwendung der Slice-Methode
[Java] Beurteilung durch Eingabe von Zeichen in das Terminal
Die Tomcat 8.5-Protokollausgabe wurde durch Log4j2.8 oder höher ersetzt
[Java] In der Ausgabe wird etwas als "-0.0" angezeigt