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

So verwenden Sie die Wurmreplikation in einer MySQL-Datentabelle

Einfach ausgedrückt besteht die MySQL-Wurmreplika...

VUE + OPENLAYERS erreicht Echtzeit-Positionierungsfunktion

Inhaltsverzeichnis Vorwort 1. Etikettenstil defin...

js, um einen Boden-Scrolling-Effekt zu erzielen

In diesem Artikel wird jQuery verwendet, um den E...

Detaillierte Erklärung des Befehls mkdir beim Linux-Lernen

Inhaltsverzeichnis Vorwort 1. Grundkenntnisse zu ...

Front-End-Statusverwaltung (Teil 1)

Inhaltsverzeichnis 1. Was ist Front-End-Statusver...

jQuery verwendet das Canvas-Tag, um den Bestätigungscode zu zeichnen

Das <canvas>-Element ist für clientseitige ...

Vue + ElementUI implementiert Paging-Funktion - MySQL-Daten

Inhaltsverzeichnis 1. Problem 2. Lösung 2.1 Pagin...

JavaScript-Canvas zum Erzielen eines Regentropfeneffekts

In diesem Artikelbeispiel wird der spezifische Co...

Python 3.7-Installationstutorial für MacBook

Der detaillierte Prozess der Installation von Pyt...

Detaillierte Erläuterung des MySQL MVCC-Mechanismusprinzips

Inhaltsverzeichnis Was ist MVCC Mysql-Sperre und ...