質問: "HogeHoge"; logger.addHandler(fh); logger.setLevel(Level.ALL); logger.log(Level.ALL , logText); -----------------ここまで----------------- 簡略化しましたが、実際はある問い合わせフォームからボタンを押すとログが残るような 作りを目指しています。 自分の考えでは、上のコードで、 20070131.logという1ファイルに追加でログが残ると思っていましたが、 実際に動かしてみると、 20070131.log 20070131.log.1 20070131.log.2 などと問い合わせを押すたびに新たなファイルが残ってしまいます。 一番上の、数字なしのファイルにはちゃんとログが追加されているので、 この1ファイルのみ書き出されればいいのですが...。 さらに 20070131.log.lck 20070131.log.1.lck 20070131.log.2.lck などと(おそらく)ロックファイルまで出力され、 ファイルの量が肥大化してしまいました。 lckファイルはTomcatを止めれば消えてくれるようですが、 実際は常時動かし続けていたいので現実的ではありません。 「日付.log」の1ファイルのみ書き出す方法をどなたか教えていただけませんでしょうか。 一応、自分でもそれなりに調べてみたつもりですが... なかなかいい資料を見つけられませんでした。 恐縮ですが、よろしくお願いいたします。
回答: tamaさん、ご回答ありがとうございます。 先ほどのnuさんにもご回答いただきましたが... 恐縮ですが、「初回起動時のみ、1回だけ」実行する、という やり方が分からないのです...。 ビジネスロジックには書かずにTomcatの設定かなにかをいじるのでしょうか。 それとも、 if(!execcute){ logger.addHandler(fh); execcute = true; } のようにif文で囲んでboolean execcuteをBeanか何かに格納して Tomcat起動時からずっと保持させておく、というような ことなのでしょうか? 何分、初回起動時のみ実行するというようなコードを書いたことがないもので... 初歩的な質問ですいません。