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 で物理エンジン ジョイントを使用する方法

推薦する

CSSは親コンテナのdivをimg画像で埋め、コンテナのサイズに適応します。

ページに複数の画像を導入すると、画像のサイズがばらつくことがあります。しかし、それらを一貫したサイズ...

CSS3 で画像ドロワー効果を実装するためのサンプル コード

いつものように、まずは画像効果を投稿しましょう: このエフェクトの原理は非常にシンプルです。CSS3...

重複したMySQLレコードを現場でチェックし、処理する実践的な記録

目次序文分析するデータ合計繰り返し率どこにあるかと持っているかの違い要約する序文私はソフトウェアの導...

dockerエラーの原因分析 終了しました (1) 4分前

Dockerエラー1. 原因を確認するdocker ログ ネクサス2. エラーの原因OpenJDK ...

JavaScript の組み込み Date オブジェクトの詳細な説明

目次日付オブジェクト日付オブジェクトの作成新しい日付()日付を取得する()取得日()月を取得する()...

ECMAScript の演算子を理解するための記事

目次単項演算子ブール演算子乗算演算子加法演算子関係演算子等価演算子条件演算子代入演算子カンマ演算子要...

入力できない無効な値はアクションレイヤーに渡すことができません

フォームを入力不可にしたい場合は、フォームを次のように設定します。コードをコピーコードは次のとおりで...

入力タイプ=ファイルスタイルを定義する方法

ファイルコントロールを美しくする理由は何ですか?他の子供たちはみんなきちんとしたきれいな服を着ている...

MySQLデータベースの使用仕様の概要

導入: MySQL データベースの仕様に関しては、皆さんも何らかのドキュメントを読んだことがあると思...

vue+tsは要素のマウスドラッグの効果を実現します

この記事の例では、要素のマウスドラッグ効果を実現するためのvue+tsの具体的なコードを参考までに共...

Linuxの運用と保守の基本プロセス管理と環境構成分析

目次1. プロセスの基本的な概要2. プロセスの構成要素3. プロセス環境4. プロセスステータス5...

vue3 を使用してマテリアル ライブラリを構築する方法

目次なぜマテリアルライブラリが必要なのでしょうか?材質は何ですか?素材の種類fuep、vue3 ベー...

Zabbix による SQL Server の監視プロセスの詳細な説明

Zabbix による SQL Server の監視を見てみましょう。まずfreetdsをダウンロード...

Linux での mysql および mysql.sock のインストールに関する問題

最近、Linux に Aphace、mysql、php をインストールするときに多くの問題に遭遇しま...

モバイルデバイスでのフリーズ問題に対する CSS3 ソリューション (アニメーション パフォーマンスの最適化)

1. CSS、jQuery、Canvasを使用してアニメーションを作成する1. キャンバス利点: ...