さまざまな Tomcat ログと catalina.out ファイルのセグメンテーションの関係についての簡単な分析

さまざまな Tomcat ログと catalina.out ファイルのセグメンテーションの関係についての簡単な分析

Tomcatログの関係

一枚の写真は千の言葉に値する!

localhost.{yyyy-MM-dd}.loglocalhost-access.{yyyy-MM-dd}.logなどの他のログでは、 localhostコンテキストの名前であり、多くの場合、アプリケーションが名前になります。

catalina.out を分割する

上の図に示すように、実行時間が長くなるにつれて catalina.out は大きくなる一方ですが、コンソールによって出力されるログも役立ちます。たとえば、開発者の中にはe.printStackTrace()System.out.println()System.err.println()すべて catalina.out に出力されます。これらのログも役立ちます。したがって、バックアップにはログのセグメント化が必要です。

最も簡単な方法は、Linux に付属する logrotate 関数を使用して catalina.out を分割することです。

例として、catalina.out パスを/opt/tomcat/logs/catalina.outとします。

#/etc/logrotate.d を入力します。このディレクトリは、logrotate.d サブシステムの設定ディレクトリです。メインの設定ファイルを変更することはお勧めしません。
/etc/logrotate.d をコピーします
猫 > トムキャット<<EOF
ログファイル
        コピー切り捨て
	毎日
        15回転
        圧縮する
        行方不明
        空でない
        サイズ 200M
        日付テキスト
}
終了

上記の構成の説明:

  • /opt/tomcat/logs/catalina.out #catalina.out ストレージアドレス
  • copytruncate #元のログファイルをコピーしてクリアする
  • 毎日 #毎日のカット
  • rotate 15 #最大15個のファイルを保持
  • 圧縮 #分割されたファイルを圧縮する
  • missingok #catalina.out ファイルが存在しないことを許可し、ファイルが表示されたらカットを開始します
  • notifempty #ログファイルが空の場合、ローテーションは実行されません
  • サイズ 200M #catalina.outファイルが200Mより大きい場合は切り捨て
  • dateext # 日付拡張子、切り取った後にログファイル名に日付を追加する

その他の構成パラメータ:

圧縮 #ダンプされたログを gzip で圧縮します。 nocompress #gzip 圧縮を実行しません。 copytruncate #まだ開いているログ ファイルに使用され、現在のログをバックアップして切り捨てます。これは、最初にコピーしてからクリアする方法です。コピーとクリアの間には時間差があり、一部のログ データが失われる可能性があります。
nocopytruncate #ログファイルをバックアップしますが、切り捨てません。create mode owner group #ローテーション中に新しいファイルを作成するプロパティを指定します。例: create 0777 nobody nobody
nocreate #新しいログ ファイルを作成しません delaycompress #compress と一緒に使用すると、ダンプされたログ ファイルは次回のダンプまで圧縮されません nodelaycompress #delaycompress オプションをオーバーライドし、ダンプ中に圧縮します。
missingok #ログが欠落している場合は、エラーは報告されず、次のログがローテーションされます。 errors address #保存中のエラーメッセージは、指定された電子メールアドレスに送信されます。 ifempty #ログファイルが空の場合でも、ファイルはローテーションされます。これは、logrotate のデフォルトオプションです。
notifempty #ログ ファイルが空の場合は、ローテーションしません。 mail address #ダンプされたログ ファイルを指定された電子メール アドレスに送信します。 nomail #ダンプ時にログ ファイルを送信しません。 olddir directory #ダンプされたログ ファイルを指定されたディレクトリに配置します。このディレクトリは、現在のログ ファイルと同じファイル システム内にある必要があります。 noolddir #ダンプされたログ ファイルと現在のログ ファイルを同じディレクトリに配置します。 sharedscripts #すべてのログがローテーションされた後にスクリプトを 1 回実行するために使用される postrotate スクリプトを実行します。これが設定されていない場合、スクリプトは各ログ ローテーションの後に 1 回実行されます。prerotate #logrotate ダンプの前に実行される命令 (ファイル属性の変更やその他のアクションなど)。独立した行である必要があります。postrotate #logrotate ダンプの後に実行される命令 (サービスの再起動 (kill -HUP) など)。別々の行にする必要があります daily #ダンプ サイクルを daily として指定しますweekly #ダンプ サイクルを weekly として指定しますmonthly #ダンプ サイクルを monthly として指定しますrotate count #ログ ファイルを削除するまでのダンプの数を指定します。0 はバックアップなし、5 は 5 つのバックアップを保持することを意味しますdateext #現在の日付を命名形式として使用しますdateformat .%s #dateext とともに使用します。次の行にすぐに表示され、ファイルが切り取られた後のファイル名を定義します。dateext とともに使用する必要があります。%Y %m %d %s のみをサポートします。これら 4 つのパラメーターサイズ値と単位 #ログ ファイルは、指定されたサイズに達するとダンプされます。不足している単位はバイトです。これは KB または MB で指定できます。

その他のパラメータについては、次の記事を参照してください: https://cloud.tencent.com/developer/article/1681716

各種Tomcatログとcatalina.outファイルのセグメンテーションの関係についての記事はこれで終わりです。Tomcat catalina.outファイルのセグメンテーションの詳細については、123WORDPRESS.COMの過去の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも123WORDPRESS.COMをよろしくお願いいたします。

以下もご興味があるかもしれません:
  • Linux tomcat での Catalina.out ログ ファイルのセグメンテーション
  • TomcatはLog4jを使用してcatalina.outログを出力します。
  • tomcatでcatalina.outログをカットする3つの方法の詳細な説明

<<:  Vue のライフサイクルとフック関数

>>:  CSS フロート(float, clear)の人気の解説と体験談

推薦する

MySQL 学習: データベース テーブルの 5 つの主要な制約を初心者向けに詳しく説明します

目次1. 制約の概念と分類2. 5つの制約の追加と削除2.1 制約を追加する6つの方法2.2 制約を...

MySQL で '%' を含むフィールドをクエリする方法の詳細な説明 (ESCAPE の使用法)

SQLのlike文では、例えば SELECT * FROM user WHERE username...

Dockerイメージ内のnoneイメージ操作を削除する

普段はdocker buildコマンドでイメージを生成していますが、コードの更新が頻繁に行われるとn...

Docker に influxdb をインストールするための詳細なチュートリアル (パフォーマンス テスト)

1. 前提条件1. プロジェクトが展開されました2. Dockerはすでにインストールされている2...

JVMシリーズのメモリモデルの詳細な説明

目次1. メモリモデルとランタイムデータ領域2. マインドマップと凡例3. オブジェクトはJVMから...

この記事ではJavaScriptの基本であるディープコピーとシャローコピーについて説明します。

目次浅いコピーディープコピー補充する要約するコピー(クローン、複製などとも呼ばれる)ですが、ディープ...

Vueアイコンセレクターのサンプルコード

出典: http://www.ruoyi.vip/ 'vue' から Vue をイン...

MySQLでデータを削除してもディスク領域が解放されないのはなぜですか

目次問題の説明解決問題分析問題の説明MySQL で delete ステートメントを使用してデータを削...

Vue プロジェクトで addRoutes を使用する際の問題の解決策

目次序文1. 404 ページ1. 原因2. 解決策2.白い画面を更新する1. 原因2. 解決策3. ...

JavaScript 戦略パターンを使用してフォームを検証する方法

目次概要戦略パターンを使用しないフォーム検証戦略パターンを使用して最適化する戦略パターンの利点要約す...

nodejs で worker_threads を使用して新しいスレッドを作成する方法

導入前の記事で述べたように、NodeJS には 2 種類のスレッドがあります。1 つは、ユーザー リ...

jQueryカルーセル機能を実装する方法

この記事では、jQueryカルーセル機能の実装コードを参考までに共有します。具体的な内容は次のとおり...

mysql binlog ログを正しくクリーンアップする 2 つの方法

mysqlはbinlogログを正しくクリーンアップします序文: MySQL の binlog はデー...

grep を使用して MySQL エラー ログ情報を取得する方法の詳細な説明

MySQL のメンテナンスを容易にするために、エラー情報を収集するためのインターフェースを提供するス...

CSS における px、rem、em、vh、vw の違いを簡単に分析します

絶対長さピクセルpx はピクセル値であり、メートルやセンチメートルのような固定の長さです。相対的な長...