web-dev-qa-db-ja.com

Ubuntu 18.10 Tomcat8 catalina.outファイルパス

Previosuバージョンでは、catalina.outファイルが/var/log/Tomcat8/catalina.outの場所に作成されていることがわかりました。

現在のインストールであるUbuntu 18.10と最後のパッケージバージョンについて勉強していたとき、このファイルは常に空であることがわかりました。

Tomcat8の構成を調べたところ、この出力は/etc/Tomcat8/logging.propertiesファイルで管理されていることがわかりました

1catalina.org.Apache.juli.AsyncFileHandler.level = FINE 1catalina.org.Apache.juli.AsyncFileHandler.directory = $ {catalina.base}/logs 1catalina.org.Apache.juli.AsyncFileHandler.prefix =のようなものがありますカタリナ。

これは、新しいファイルがcatalina.2018-11-30のようなファイル名で/ var/log/Tomcat8に毎日作成されることを意味します。

また、logrorate構成はまだ存在していますが、/ var/log/Tomcat8/catalina.outで構成されています。したがって、影響はありません。

さらに、logrotate構成では、admを使用してファイルのグループ名を変更できました。現在、所有者はTomcat8:Tomcat8として設定されています

Tomcat8パッケージの設定セットに予期される動作または何かが欠けていますか?

よろしく

エティエンヌ・ジュヴァン

1
Etienne

Catalina.outのロギングが18.10で壊れたようです。パッケージの/etc/rsyslog.d/Tomcat8.confで確認できるように、Tomcat8はrsyslogを介してcatalina.outにログを記録します

$template TomcatFormat,"[%timegenerated:::date-year%-%timegenerated:::date- 
month%-%timegenerated:::date-day% %timegenerated:::date- 
hour%:%timegenerated:::date-minute%:%timegenerated:::date-second%] 
[%syslogseverity-text%]%msg%\n"

:programname, startswith, "Tomcat8" {
  /var/log/Tomcat8/catalina.out;TomcatFormat
  stop
}

残念ながら、rsyslogに対するUbuntu 18.10の権限は、この機能を実行するのに適切ではないようです。 syslogでこれを見つけました。

rsyslogd:ファイル '/var/log/Tomcat8/catalina.out':オープンエラー:許可が拒否されました[v8.32.0 try http://www.rsyslog.com/e/24 ]

これにより、rsyslogはすべてのTomcat8ロギングを/ var/log/syslogに送信します

副作用として、これによりcatalina.outに「無意味な」logrotateがあるように思われます。おそらくまだ動作するように意図されています。

グループsyslogにcatalina.outファイルに対する書き込み権限があることを確認してから、rsyslogを再起動する必要があります。この時点からロギングは正常に動作するはずです。

この許可を保証する1つの(単純な)方法:

Sudo service Tomcat8 stop
Sudo touch /var/log/Tomcat8/catalina.out
Sudo chown Tomcat8:syslog /var/log/Tomcat8 -R
Sudo chmod g+rwx /var/log/Tomcat8
Sudo chmod g+rw /var/log/Tomcat8 -R
Sudo chmod g+s /var/log/Tomcat8 -R
Sudo service rsyslog restart
Sudo service Tomcat8 start
2