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

HTML+Sass implementiert HambergurMenu (Hamburger-Menü)

Vor ein paar Tagen habe ich mir ein Video von ein...

Implementierung der One-Click-TLS-Verschlüsselung für die Docker-Remote-API

Inhaltsverzeichnis 1. Ändern Sie den Port 2375 vo...

WePY-Cloud-Entwicklungspraxis im Linux-Befehlsabfrage-Applet

Hallo zusammen, heute werde ich mit Ihnen die WeP...

Wie man mit React elegant CSS schreibt

Inhaltsverzeichnis 1. Inline-Stile 2. Importmetho...

So verhindern Sie, dass Flash HTML-Div-Elemente abdeckt

Als ich heute einen Flash-Werbecode schrieb, habe ...

Drei Möglichkeiten zum Kopieren von MySQL-Tabellen (Zusammenfassung)

Tabellenstruktur und deren Daten kopieren Die fol...

js, um einen Ein- und Ausblendeffekt des Bildes zu erzielen

In diesem Artikel wird der spezifische Code von j...

Diagramm des Tomcat CentOS-Installationsprozesses

Tomcat CentOS-Installation Dieses Installationstu...

So erstellen Sie mit Dockerfile ein Spiegelbild der Java-Laufzeitumgebung

Die aktuelle Umgebung ist: Centos 7.5 docker-ce 1...

Shell-Skripteinstellungen zum Verhindern von Brute-Force-SSH

Das Shell-Skript richtet die Zugriffskontrolle ei...

Semantik, Schreiben und bewährte Methoden für Link A

Die Semantik, der Schreibstil und die Best Practi...

Eine ausführliche Zusammenfassung der Überlegungen zu MySQL-Zeiteinstellungen

Existiert die Zeit wirklich? Manche Menschen glau...

Vue echarts realisiert horizontales Balkendiagramm

In diesem Artikel wird der spezifische Code von V...