TomcatはLog4jを使用してcatalina.outログを出力します。

TomcatはLog4jを使用してcatalina.outログを出力します。

Tomcat のデフォルトのログは java.util.logging を使用しますが、これにはいくつかの欠点があります。ファイル catalian.out は log4j のように毎日生成することができず、どんどん大きくなってしまいます。ログ形式は、プロジェクト内の log4j によって出力される形式と一致しておらず、解析に適していません。

Tomcatの公式サイト(https://tomcat.apache.org/tomcat-7.0-doc/logging.html)で検索したところ、いくつかの設定を変更し、拡張パッケージを置き換えることで、log4jを使用してcatalian.outを出力できることがわかりました。

$CATALINA_BASE/libにlog4j.propertiesファイルを作成します。

log4j.properties の内容は次のとおりです。

log4j.rootLogger = INFO、CATALINA
# すべてのアペンダーを定義する
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
# ログを1日1回ロールオーバーする
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
# catalina.out にカスタムログを設定します
log4j.logger.com.xxxxx = 警告、カタリナ
log4j.logger.org.apache = 警告、CATALINA
log4j.logger.org.mybatis = 警告、CATALINA
log4j.logger.java.sql = 警告、CATALINA
log4j.logger.org.springframework = 警告、CATALINA

tomcat関連のjarパッケージを更新する

log4j-1.2.17.jar をダウンロードします (http://www.apache.org/dist/logging/log4j/1.2.17/)

tomcat7 の 2 つの jar パッケージ (tomcat-juli.jar と tomcat-juli-adapters.jar) をダウンロードします (http://www.apache.org/dist/tomcat/tomcat-7/v7.0.69/bin/extras/、Tomcat のバージョンに対応するものが望ましい)

log4j-1.2.17.jar と tomcat-juli-adapters.jar を $CATALINA_HOME/lib に配置し、$CATALINA_HOME/bin/tomcat-juli.jar を新しくダウンロードした tomcat-juli.jar に置き換えます。

$CATALINA_BASE/conf/logging.propertiesを削除します。

Tomcatを再起動します

デフォルトの Catalina ログ形式について

Tomcat のデフォルトのログ形式のみを変更する場合は、デフォルトのjava.util.logging.SimpleFormatterを置き換えるだけです。 SimpleFormatter クラスの形式はLoggingSupport.getSimpleFormat()であり、その具体的な値は「%1$tb %1$td, %1$tY %1$tl:%1$tM:%1$tS %1$Tp %2$s%n%4$s: %5$s%6$s%n」です。ここで、時間形式は予想どおりではない可能性があり、改行 %n が含まれています。例えば、上記の log4j と同様の時間形式に変更したい場合は、置換クラス (com.xxx.LogFormatter) を自分で書き換えて、形式を「%1$tY-%1$tm-%1$td %1$tH:%1$tM:%1$tS.%1$tL %4$s %2$s %5$s%6$s%n」に設定することができます。 $CATALINA_BASE/conf/logging.properties を変更する

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

次のように変更します。

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

要約する

以上がこの記事の全内容です。この記事の内容が皆様の勉強や仕事に何らかの参考学習価値をもたらすことを願います。123WORDPRESS.COM をご愛顧いただき、誠にありがとうございます。これについてもっと知りたい場合は、次のリンクをご覧ください。

以下もご興味があるかもしれません:
  • tomcatでcatalina.outログをカットする3つの方法の詳細な説明
  • Tomcatにcatalina.outが蓄積し続ける問題を解決する
  • Linux tomcat での Catalina.out ログ ファイルのセグメンテーション
  • Tomcat8はcronologを使用してCatalina.Outログを分割します

<<:  MySQL、Oracle、SQL Server のページングクエリ例の分析

>>:  CocosCreator で物理エンジン ジョイントを使用する方法

推薦する

画像を読み込むための JavaScript キャンバス

この記事では、画像を読み込むためのJavaScriptキャンバスの具体的なコードを参考までに紹介しま...

VMware での Linux CentOS6.9 インストール グラフィック チュートリアル

技術初心者として、初めて Linux システムをインストールするプロセスを記録しています。まず、Wi...

MySQL SHOW STATUSステートメントの使用

MySQL のパフォーマンス調整とサービス ステータスの監視を行うには、MySQL の現在の実行状態...

CSS background-blend-modeの仕組みを深く理解する

この記事は共有および集約することを歓迎します。全文を転載する必要はありません。著作権を尊重してくださ...

パフォーマンス負荷診断にMySQLシステムデータベースを使用する方法

ある達人がかつて、自分の妻のことを知るのと同じくらい、自分が管理するデータベースのことを知るべきだと...

MYSQLが中国語を認識できない問題の恒久的な解決策

ほとんどの場合、MySQL はインストールしたばかりのときは中国語をサポートしません。これはエンコー...

Dockerで同じIDを持つ2つのイメージを削除する

今日 Docker コンテナを作成したとき、誤ってイメージの名前を間違って入力しました。その結果、コ...

情報製品の読書リストのインタラクティブなデザインに関する考えと経験の共有

リストは、テーブルをコンテナーとして使用するテキストまたはグラフの形式として定義されます。商品の種類...

高性能なウェブサイトのための14のテクニック

オリジナル: http://developer.yahoo.com/performance/rule...

MySQL をインストールするときに初期パスワードを忘れた場合のシンプルで効果的な解決策

MySQL をインストールすると初期パスワードが与えられますが、この初期パスワードは大文字と小文字の...

ログインインターフェースの使いやすさとセキュリティのバランスをとる方法

ウェブデザイナーでもUIデザイナーでも、ログインページや登録ページのデザインは必ず経験しなければなら...

Windows 10 に Apache 2.4.41 をインストールするチュートリアル

1. Apache 2.4.41 のインストールと設定最初のステップは、以下に示すように、https...

Vueナンバープレート入力コンポーネントの使い方の詳しい説明

参考までに、シンプルなナンバープレート入力コンポーネント(vue)です。具体的な内容は次のとおりです...

mysql5.6 以前のデータベースで json をクエリする方法

MySQLにデータを保存するとき、乱雑であまり使用されないデータがJSONフィールドに投げ込まれるこ...

Centos7 で ZooKeeper3.4 ミドルウェアを構築するための一般的なコマンドの概要

1.ダウンロードして解凍する1. Zookeeperの紹介分散サービス フレームワークとして、Zoo...