#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 }}