** Remarques sur la migration de Tomcat 7 vers Tomcat 8 **
catalina.out
2015/01/16 9:26:31 org.apache.catalina.core.StandardService startInternal
information:Démarrez le service Catalina
catalina.out
16-Jan-2015 9:26:31.518 INFO [main] org.apache.catalina.core.StandardService.startService interne Démarrer Catalina
Ce qui était deux lignes a été changé en une ligne.
Pour revenir aux deux lignes d'origine, accédez à ce qui suit dans conf / logging.properties
conf/logging.properties
java.util.logging.ConsoleHandler.formatter = org.apache.juli.OneLineFormatter
En changeant comme suit, il devient les deux mêmes lignes que Tomcat 7. (OneLineFormatter-> SimpleFormatter)
conf/logging.properties
java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter
Cela affichera deux lignes comme indiqué ci-dessous.
catalina.out
1 15, 2015 12:06:25 h org.apache.catalina.core.StandardService startInternal
information:Démarrez le service Catalina
Jusqu'à présent, il était traité par format
tenu par java.util.logging.SimpleFormatter
,
Le format obtenu à partir de Java 7 avec getSimpleFormat
de sun.util.logging.LoggingSupport
est utilisé.
En ajoutant ce qui suit à conf / logging.properties de Tomcat, le même contenu que dans Java 6 peut être obtenu.
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
C'est finalement le même que Tomcat 7 + Java 6.
catalina.out
2015/01/16 9:26:31 org.apache.catalina.core.StandardService startInternal
information:Démarrez le service Catalina
Source pour vérifier le format de la date
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) {
//Date à tester
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:Démarrez le service 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, "Démarrez le service 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));
}
}
Résultat d'exécution
stdout
2015/01/02 8:50:59 org.apache.catalina.core.StandardService startInternal
information:Démarrez le service Catalina
---
2015/01/02 8:50:59 org.apache.catalina.core.StandardService startInternal
information:Démarrez le service Catalina
J'ai pu reproduire avec succès l'état avant la transition. La raison de cela est qu'il y avait un script existant qui traitait à l'aide de cette chaîne ...
Recommended Posts