Eine kurze Analyse der Beziehung zwischen verschiedenen Tomcat-Protokollen und der Segmentierung von catalina.out-Dateien

Eine kurze Analyse der Beziehung zwischen verschiedenen Tomcat-Protokollen und der Segmentierung von catalina.out-Dateien

Die Beziehung zwischen Tomcat-Protokollen

Ein Bild sagt mehr als tausend Worte!

In anderen Protokollen wie localhost.{yyyy-MM-dd}.log und localhost-access.{yyyy-MM-dd}.log “ ist localhost der Name des Kontexts und häufig eine Anwendung.

Catalina.out aufteilen

Wie in der Abbildung oben gezeigt, wird catalina.out mit zunehmender Laufzeit nur größer, aber die von der Konsole ausgegebenen Protokolle sind auch nützlich. Einige Entwickler verwenden beispielsweise gerne e.printStackTrace() , System.out.println() und System.err.println() alle in catalina.out ausgegeben werden. Diese Protokolle sind auch nützlich! Daher ist für die Sicherung eine Protokollsegmentierung erforderlich.

Am einfachsten geht das mit der Verwendung der mit Linux mitgelieferten Funktion logrotate zum Aufteilen von catalina.out.

Nehmen Sie als Beispiel den catalina.out-Pfad als /opt/tomcat/logs/catalina.out :

#Geben Sie /etc/logrotate.d ein. Dieses Verzeichnis ist das Konfigurationsverzeichnis des logrotate.d-Subsystems. Es wird nicht empfohlen, die Hauptkonfigurationsdatei zu ändern.
cd /etc/logrotate.d
Katze > Kater<<EOF
/opt/tomcat/logs/catalina.out{
        kopieren und abschneiden
	täglich
        drehen 15
        Kompresse
        fehltok
        Benachrichtigungleer
        Größe 200M
        Datumext
}
Ende der Laufzeit

Die obige Konfigurationsbeschreibung:

  • /opt/tomcat/logs/catalina.out #catalina.out Speicheradresse
  • copytruncate #Kopieren Sie die ursprüngliche Protokolldatei und löschen Sie sie
  • täglich #Tägliches Schneiden
  • rotate 15 #Bis zu 15 Dateien behalten
  • komprimieren #Komprimieren Sie die geteilten Dateien
  • missingok #Erlaube, dass die Datei catalina.out nicht existiert, und beginne mit dem Schneiden, nachdem die Datei erscheint
  • notifempty #Wenn die Protokolldatei leer ist, wird keine Rotation durchgeführt
  • Größe 200 M. #Wenn die Datei catalina.out größer als 200 M ist, schneiden Sie
  • dateext # Datumserweiterung, fügt das Datum nach dem Ausschneiden zum Namen der Protokolldatei hinzu

Weitere Konfigurationsparameter:

compress #Komprimieren Sie die gesicherten Protokolle mit gzip nocompress #Führen Sie keine gzip-Komprimierung durch copytruncate #Wird für Protokolldateien verwendet, die noch geöffnet sind. Sichern Sie das aktuelle Protokoll und kürzen Sie es. Dies ist eine Methode, bei der zuerst kopiert und dann gelöscht wird. Zwischen dem Kopieren und Löschen besteht ein Zeitunterschied, und einige Protokolldaten können verloren gehen.
nocopytruncate #Sichern Sie die Protokolldatei, aber kürzen Sie sie nicht create mode owner group #Geben Sie die Eigenschaften zum Erstellen neuer Dateien während der Rotation an, z. B. create 0777 nobody nobody
nocreate #Keine neue Protokolldatei erstellen delaycompress #Bei Verwendung mit compress wird die gesicherte Protokolldatei erst beim nächsten Dump komprimiert nodelaycompress #Überschreibt die Option delaycompress und komprimiert während des Dumps.
missingok #Wenn das Log fehlt, wird kein Fehler gemeldet und das nächste Log wird gerollt. errors address #Fehlermeldungen beim Speichern werden an die angegebene E-Mail-Adresse gesendet ifempty #Auch wenn die Logdatei leer ist, wird die Datei rotiert. Dies ist die Standardoption von logrotate.
notifempty #Wenn die Protokolldatei leer ist, rotieren Sie die E-Mail-Adresse nicht. #Senden Sie die gedumpte Protokolldatei an die angegebene E-Mail-Adresse. nomail #Senden Sie die Protokolldatei nicht, wenn Sie das Verzeichnis olddir dumpen. #Legen Sie die gedumpte Protokolldatei in das angegebene Verzeichnis, das sich im selben Dateisystem wie die aktuelle Protokolldatei befinden muss. noolddir #Legen Sie die gedumpte Protokolldatei und die aktuelle Protokolldatei in dasselbe Verzeichnis. sharedscripts #Führen Sie das Skript postrotate aus, mit dem das Skript einmal ausgeführt wird, nachdem alle Protokolle rotiert wurden. Wenn dies nicht konfiguriert ist, wird das Skript einmal nach jeder Protokollrotation ausgeführt. prerotate #Anweisungen, die vor Logrotate-Dumps ausgeführt werden sollen, wie etwa das Ändern von Dateiattributen und andere Aktionen; müssen unabhängige Zeilen sein. postrotate #Anweisungen, die nach Logrotate-Dumps ausgeführt werden sollen, wie etwa das Neustarten (kill -HUP) eines Dienstes! Muss eine eigene Zeile sein daily #Geben Sie den Dump-Zyklus als dailyweekly an #Geben Sie den Dump-Zyklus als weeklymonthly an #Geben Sie den Dump-Zyklus als monthlyrotate count #Geben Sie die Anzahl der Dumps an, bevor die Logdatei gelöscht wird. 0 bedeutet kein Backup, 5 bedeutet, 5 Backups aufzubewahrendateext #Verwenden Sie das aktuelle Datum als Benennungsformatdateformat .%s #Verwenden Sie mit dateext, erscheint sofort in der nächsten Zeile, definiert den Dateinamen nach dem Ausschneiden der Datei, muss mit dateext verwendet werden, unterstützt nur %Y %m %d %s diese vier Parametersize-Wert und Einheit #Die Logdatei wird gesichert, wenn sie die angegebene Größe erreicht. Die fehlende Einheit ist Bytes, die in KB oder MB angegeben werden kann

Weitere Parameter finden Sie im Artikel: https://cloud.tencent.com/developer/article/1681716

Dies ist das Ende dieses Artikels über die Beziehung zwischen verschiedenen Tomcat-Protokollen und der Segmentierung von catalina.out-Dateien. Weitere Informationen zur Segmentierung von Tomcat catalina.out-Dateien finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder durchsuchen Sie die folgenden verwandten Artikel weiter. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen!

Das könnte Sie auch interessieren:
  • Catalina.out-Protokolldateisegmentierung unter Linux Tomcat
  • Tomcat verwendet Log4j zur Ausgabe des catalina.out-Protokolls
  • Detaillierte Erläuterung der drei Möglichkeiten zum Schneiden von Catalina.out-Protokollen in Tomcat

<<:  Lebenszyklus und Hook-Funktionen in Vue

>>:  CSS float (float, clear) beliebte Erklärung und Erfahrungsaustausch

Artikel empfehlen

Methode zur Wiederherstellung von Betriebs- und Wartungsdaten der MySQL-Datenbank

In den vorherigen drei Artikeln wurden gängige Si...

Eine kurze Diskussion über den Vater-Sohn-Werttransfer in Vue3

Inhaltsverzeichnis Vom Vater zum Sohn: 1. Übergeb...

SQL-Implementierung von LeetCode (196. Doppelte Postfächer löschen)

[LeetCode] 196.Doppelte E-Mails löschen Schreiben...

js native Wasserfall-Flow-Plugin-Produktion

In diesem Artikel wird der spezifische Code des n...

Keep-Alive-Multilevel-Routing-Cache-Problem in Vue

Inhaltsverzeichnis 1. Problembeschreibung 2. Ursa...

Analyse der gemeinsamen Indexfunktion von MySQL und Anwendungsbeispiele

Dieser Artikel veranschaulicht anhand von Beispie...

CSS verwendet die BEM-Namenskonvention

Welche Informationen möchten Sie erhalten, wenn S...

TortoiseSvn Little Turtle Installation Neuestes ausführliches Grafik-Tutorial

Bei der Installation von tortoiseGit gab es immer...

MySQL 5.7.19 neueste Binärinstallation

Laden Sie zunächst die Zip-Archivversion von der ...

Detaillierte Bereitstellung des Alibaba Cloud Servers (grafisches Tutorial)

Ich habe vor Kurzem Front-End- und Back-End-Techn...

Detaillierte Erläuterung der Verwendung von MySQL Explain (Analyseindex)

EXPLAIN zeigt, wie MySQL Indizes verwendet, um Au...

Schritte für Vue3 zur Verwendung von Mitt für die Komponentenkommunikation

Inhaltsverzeichnis 1. Installation 2. Ins Projekt...

Grundkenntnisse im Website-Design: Neulinge lesen bitte dies

Heutzutage beginnen viele Leute damit, Websites z...