質問: ### 環境 * Windows Server 2008 * Tomcat7 * Java7! ### やりたいこと Tomcatで出力しているGCログを、以下の設定で出力しています。 ``` -Xloggc:C:\Program Files\Apache Software Foundation\Tomcat 7.0\logs\gclog\gclog.txt ``` Configure Tomcat しかし、Tomcatを再起動すると、GCログが上書きされて前のログが消えてしまいます。 GCログを上書きさせない方法を、教えていただきたいです。 Tomcat8ならば、以下の設定で、プロセスIDやタイムスタンプをGCログのファイル名に付与して、上書きを防ぐことができます。 ``` -Xloggc:gclog_%p_%t.txt ``` また、Linuxならば、以下の設置で、タイムスタンプを付与することができます。 ``` -Xloggc:gclog.txt.`date +%Y%m%d%H%M%S` ``` しかし、WindowsでTomcat7のため、どちらも採用できません。 ### 暫定案 一旦下記の運用で、対応します。 * Tomcatを再起動するときは、必ずGCログのバックアップを取る * 毎日GCログのバックアップを取る(タスクスケジューラなどを使用) しかし、この運用も完璧ではありません(再起動したときのバックアップ取得忘れなど)。 根本的に解決する案があれば、教えてください。
回答: ``` -XX:+UseGCLogFileRotation -XX:NumberOfGClogFiles=1 ``` オプションを付けてみてはいかがでしょうか? Java HotSpot VM Options