** Hinweise zur Migration von Tomcat 7 auf Tomcat 8 **
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.
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
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
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