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

推薦する

Docker での MySQL 8.0.20 のインストールと設定のチュートリアル

Dockerは参考までにMySQLバージョン8.0.20をインストールします。具体的な内容は以下のと...

jQueryはショッピングカート機能を実装します

この記事の例では、ショッピングカート機能を実装するためのjQueryの具体的なコードを参考までに共有...

ネイティブ JS を使用してタッチスライド監視イベントを実装する方法

序文今日はちょっとしたデモを書きました。左右にスワイプするロジックに関わる部分があります。当初はプラ...

CSS3で線形グラデーションを実装するためのコードの詳細な説明

序文デモでは古いバージョンのブラウザのグラデーションが実装されています[IE9-]。 IE9 より前...

Dockerイメージストレージoverlayfsの使用

1. 概要Docker のイメージはレイヤーで設計されています。各レイヤーは「レイヤー」と呼ばれます...

Baotaパネルを再起動すると、「-ModuleNotFoundError: No module named 'geventwebsocket'」というメッセージが表示されます。

背景:サーバーがFlaskプロジェクトをデプロイし、python3をインストールしたため、再起動時に...

Linux でのプロセスデーモン スーパーバイザーのインストール、構成、および使用

Supervisor は非常に優れたデーモン管理ツールです。自動起動、ログ出力、自動ログカットなど、...

JavaScript で 2 次元配列を作成するためのヒント

Js での 2 次元配列の作成:まず、JavaScript は 1 次元配列のみをサポートしています...

Linux 論理ボリューム管理 (LVM) の使用法の概要

ディスク領域の管理は、システム管理者にとって重要な日常的なタスクです。ディスク領域が使い果たされると...

OR キーワードを使用した MySql 複数条件クエリ ステートメント

前の記事では、And キーワードを使用した MySql の複数条件クエリ ステートメントを紹介しまし...

CSS3はさまざまな境界効果を実現します

半透明の境界線結果: 実装コード: <div> 半透明の境界線が見えますか? </...

Mysql binlog ログファイルが大きすぎる場合の解決策

目次1. 関連するbinlog設定2. binlogに関する詳細設定2.1 バイナリログモードの変更...

Linux の ufw ファイアウォールの紹介

Linux のufw (Uncomplicated Firewall) を見て、ファイアウォールに変...

Windows での MySQL5 グリーン バージョンのインストールの概要 (推奨)

1 MySQLをダウンロードするダウンロードアドレス: http://downloads.mysq...