Tomcat 9.0.20のcatalina.outのメッセージを英語にする


Tomcat 9.0.20のcatalina.outのメッセージを英語にする

はじめに

Apache Tomcatの脆弱性が公表され、2019年5月13日にアップデートが公開されました

影響を受けるシステム

  • Apache Tomcat 9.0.0.M1 から 9.0.19 まで
  • Apache Tomcat 8.5.0 から 8.5.40 まで

さっそく9.0.20にアップデートしたところ、catalina.outのメッセージにおいていままで英語だった部分が日本語で出力されるようになりました。

情報: プロトコルハンドラー ["http-nio-8080"] を開始しました。

期待している出力

情報: Starting ProtocolHandler ["http-nio-8080"]

運用しているシステムでは、Fabricでサービスを起動/再起動する流れのなかで Starting ProtocolHandler という文字列を検知して後続の処理を行っています。
そのため、想定していたメッセージが検知されず処理が止まってしまいました。

そこで、従来どおりの検知ができるようログの言語を変更することで解決しました。

参考情報

前提条件

Tomcat の setenv.sh のLANGに ja_JP を設定しています。
いままでこの設定でログは英語で出力されていました。参考情報に挙げたサイトにも書かれていますがこの設定を en_US に変更するのは影響範囲が大きそうなので変更しませんでした。

export LANG="ja_JP.UTF-8"

変更内容

export LC_MESSAGES=en_US.UTF-8を追加し、Tomcatを再起動することでメッセージが英語となりました。

export LANG=ja_JP.UTF-8
+ export LC_MESSAGES=en_US.UTF-8

結果

情報: Starting ProtocolHandler ["http-nio-8080"]