#author("2019-05-09T05:25:49+00:00","default:wikiwriter","wikiwriter")
#author("2019-08-16T11:19:39+00:00","default:wikiwriter","wikiwriter")
&tag(Tomcat/設定);
*目次 [#icbe158f]
#contents
*関連ページ [#b82e2306]
-[[Tomcat]]

*参考情報 [#b923cd2d]

*ログの設定 [#jbb1fa3a]

**ログファイルの整理 [#m17fb78c]
-デフォルト状態だといろいろ出力されてうっとうしい。
-[[Tomcat の初期設定まとめ - Qiita:https://qiita.com/hidekatsu-izuno/items/ab604b6c764b5b5a86ed]]を参考にして必要最低限する。
-conf/logging.propertiesを変更。
#pre{{
handlers = 1catalina.org.apache.juli.AsyncFileHandler
.handlers = 1catalina.org.apache.juli.AsyncFileHandler

1catalina.org.apache.juli.AsyncFileHandler.level = FINE
1catalina.org.apache.juli.AsyncFileHandler.directory = ${catalina.base}/logs
1catalina.org.apache.juli.AsyncFileHandler.prefix = catalina.
1catalina.org.apache.juli.AsyncFileHandler.maxDays = 90
1catalina.org.apache.juli.AsyncFileHandler.encoding = UTF-8


org.apache.catalina.core.ContainerBase.[Catalina].[localhost].level = INFO
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].handlers = 2localhost.org.apache.juli.AsyncFileHandler
}}
-さらにserver.xmlファイルを編集し、localhost_access_log.YYYY-MM-DD.txt をlocalhost_access_logに変更する。
#pre{{
	<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
               prefix="localhost_access_log" suffix=".txt"
	       rotatable="false"
	       pattern="combined"
	       />
}}
-これでcatalina.out、catalina.YYYY-MM-DD.log、localhost_access_log.txt のみとなる。
-これでcatalina.out、catalina.YYYY-MM-DD.log、localhost_access_log.txt のみとなる(rotatable="false"がポイント)


**ログローテーション [#i9ae65d1]
-上記3つのログファイルをログローテーションする。[[Tomcatログローテートメモ書き - Qiita:https://qiita.com/is_s/items/68ea9b1d1f20d8b48f5b]]
-catalina.outとlocalhost_access_log.txt は、logrotateでローテーションする。
#pre{{
$ sudo vim /etc/logrotate.d/tomcat8
/opt/tomcat/apache-tomcat-8.5.29/logs/catalina.out
/opt/tomcat/apache-tomcat-8.5.29/logs/localhost_access.txt
{
    copytruncate
    daily
    rotate 7
    compress
    missingok
    create 0644 tomcat tomcat
}
}}
-catalina.YYYY-MM-DD.logはログローテーションされるが古いファイルが残るので以下で削除する。
#pre{{
#!/bin/bash
LOG_DIR=/opt/tomcat/apache-tomcat-8.5.29/logs/
delfiles=`find ${LOG_DIR}*.log -mtime +7`
for a in $delfiles
do
    echo -e "delete file: ${a}" > /dev/null 2>&1
    rm -f ${a}
done

}}


*解析 [#ka90405e]
**終了時の処理 [#o524a34c]
-catalina.shによると、CATALINA_PIDが設定されていなくても終了処理は行われている。
#pre{{

  eval "\"$_RUNJAVA\"" $LOGGING_MANAGER $JAVA_OPTS \
    -Djava.endorsed.dirs="\"$JAVA_ENDORSED_DIRS\"" -classpath "\"$CLASSPATH\"" \
    -Dcatalina.base="\"$CATALINA_BASE\"" \
    -Dcatalina.home="\"$CATALINA_HOME\"" \
    -Djava.io.tmpdir="\"$CATALINA_TMPDIR\"" \
    org.apache.catalina.startup.Bootstrap "$@" stop

}}

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS