Tomcat verwendet Log4j zur Ausgabe des catalina.out-Protokolls

Tomcat verwendet Log4j zur Ausgabe des catalina.out-Protokolls

Das Standardprotokoll von Tomcat verwendet java.util.logging, das mehrere Mängel aufweist. Die Datei catalian.out kann nicht wie log4j täglich generiert werden und wird immer größer. Das Protokollformat stimmt nicht mit dem von log4j im Projekt gedruckten Format überein, was der Analyse nicht förderlich ist.

Ich habe auf der offiziellen Website von Tomcat (https://tomcat.apache.org/tomcat-7.0-doc/logging.html) gesucht und festgestellt, dass Sie durch Ändern einiger Konfigurationen und Ersetzen des Erweiterungspakets log4j zum Ausgeben von catalian.out verwenden können.

Erstellen Sie eine log4j.properties-Datei in $CATALINA_BASE/lib

Der Inhalt von log4j.properties ist wie folgt:

log4j.rootLogger = INFO, CATALINA
# Definieren Sie alle Appender
log4j.appender.CATALINA = org.apache.log4j.DailyRollingFileAppender
log4j.appender.CATALINA.File = ${catalina.base}/logs/catalina.out
log4j.appender.CATALINA.Append = true
log4j.appender.CATALINA.Encoding = UTF-8
# Einmal täglich das Protokoll überarbeiten
log4j.appender.CATALINA.DatePattern = '.'yyyy-MM-dd
log4j.appender.CATALINA.layout = org.apache.log4j.PatternLayout
#log4j.appender.CATALINA.layout.ConversionPattern = %d [%t] %-5p %c- %m%n
log4j.appender.CATALINA.layout.ConversionPattern = %d{yyyy-MM-dd HH:mm:ss.SSS} %p [%t] %c | %m%n
# benutzerdefiniertes Protokoll für catalina.out konfigurieren
log4j.logger.com.xxxxx = WARNUNG, CATALINA
log4j.logger.org.apache = WARNUNG, CATALINA
log4j.logger.org.mybatis = WARN, CATALINA
log4j.logger.java.sql = WARNUNG, CATALINA
log4j.logger.org.springframework = WARNUNG, CATALINA

Aktualisieren Sie Tomcat-bezogene JAR-Pakete

Laden Sie log4j-1.2.17.jar herunter (http://www.apache.org/dist/logging/log4j/1.2.17/)

Laden Sie zwei JAR-Pakete von Tomcat7 herunter: tomcat-juli.jar und tomcat-juli-adapters.jar (http://www.apache.org/dist/tomcat/tomcat-7/v7.0.69/bin/extras/, vorzugsweise entsprechend der Tomcat-Version).

Legen Sie log4j-1.2.17.jar und tomcat-juli-adapters.jar in $CATALINA_HOME/lib ab; ersetzen Sie $CATALINA_HOME/bin/tomcat-juli.jar durch das neu heruntergeladene tomcat-juli.jar.

Löschen Sie $CATALINA_BASE/conf/logging.properties.

Starten Sie Tomcat neu

Informationen zum standardmäßigen Catalina-Protokollformat

Wenn Sie nur das Standardprotokollformat von Tomcat ändern möchten, ersetzen Sie einfach den Standard java.util.logging.SimpleFormatter . Das Format in der Klasse SimpleFormatter ist LoggingSupport.getSimpleFormat() und sein spezifischer Wert ist: "%1$tb %1$td, %1$tY %1$tl:%1$tM:%1$tS %1$Tp %2$s%n%4$s: %5$s%6$s%n", wobei das Zeitformat möglicherweise nicht unseren Erwartungen entspricht und einen Zeilenumbruch %n enthält. Wenn Sie beispielsweise zu einem Zeitformat ähnlich dem oben stehenden log4j wechseln möchten, können Sie selbst eine Ersatzklasse (com.xxx.LogFormatter) neu schreiben und das Format auf „%1$tY-%1$tm-%1$td %1$tH:%1$tM:%1$tS.%1$tL %4$s %2$s %5$s%6$s%n“ festlegen. Ändern Sie $CATALINA_BASE/conf/logging.properties

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

Ändern Sie es wie folgt:

java.util.logging.ConsoleHandler.formatter = com.xxx.LogFormatter
org.apache.juli.FileHandler.formatter = com.xxx.LogFormatter

Zusammenfassen

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, dass der Inhalt dieses Artikels einen gewissen Lernwert für Ihr Studium oder Ihre Arbeit hat. Vielen Dank für Ihre Unterstützung von 123WORDPRESS.COM. Wenn Sie mehr darüber erfahren möchten, schauen Sie sich bitte die folgenden Links an

Das könnte Sie auch interessieren:
  • Detaillierte Erläuterung der drei Möglichkeiten zum Schneiden von Catalina.out-Protokollen in Tomcat
  • Lösen Sie das Problem, dass sich catalina.out weiterhin in Tomcat ansammelt
  • Catalina.out-Protokolldateisegmentierung unter Linux Tomcat
  • Tomcat8 verwendet Cronolog zum Aufteilen von Catalina.Out-Protokollen

<<:  Beispielanalyse für MySQL Oracle- und SQL Server-Paging-Abfragen

>>:  So verwenden Sie Verbindungen der Physik-Engine in CocosCreator

Artikel empfehlen

Detaillierte Erklärung wichtiger Kaskadierungskonzepte in CSS

Kürzlich stieß ich im Verlauf des Projekts auf ei...

Interpretation des Moduls zum Lastenausgleich mit nginx

Inhaltsverzeichnis Zwei Module zur Verwendung von...

Detaillierte Analyse des MySQL Master-Slave-Verzögerungsphänomens und -prinzips

1. Phänomen Am frühen Morgen wurde einer Online-T...

MySQL-FAQ-Serie: Wann werden temporäre Tabellen verwendet?

Einführung in temporäre Tabellen Was ist eine tem...

So verkleinern Sie die Protokolldatei in MYSQL SERVER

Das Transaktionsprotokoll zeichnet die Vorgänge a...

Beispiel zum Referenzieren von Umgebungsvariablen in Docker Compose

In einem Projekt müssen Sie häufig Umgebungsvaria...

Detaillierte Erklärung des Responsive-Prinzips von Vue3

Inhaltsverzeichnis Überprüfung der responsiven Pr...

So verwenden Sie „Explain“, um den SQL-Ausführungsplan in MySql abzufragen

Der Befehl „Explain“ ist die primäre Möglichkeit,...