ログフレームワークとしてログバックを使用していて、同じmain
関数を異なるパラメーターで実行するジョブがいくつかあり、ジョブごとにログファイルを作成し、ログファイルにジョブの名前を付けたいと考えています。
たとえば、a,b,c
すべて実行さMyClass.main()
れているがパラメータが異なるジョブがある場合は、を表示しますa-{date}.log, b-{date}.log, c-{date}.log
。
でaを{date}
指定することでこの部分を実現できますが、ファイル名のプレフィックスを動的に(ジョブの名前になるように)作成する方法がわかりません(または可能かどうかもわかりません)。<fileNamePattern>myjob-%d{yyyy-MM-dd}.log</fileNamePattern>
logback.xml
ログバックでログファイルに動的に名前を付ける方法はありますか?これを可能にする別のロギングフレームワークはありますか?
main
フォローアップの質問として、異なるパラメーターで同じ関数を呼び出す複数のジョブがあり、各ジョブにちなんで名付けられたログファイルが必要な場合、私は悪いアプローチを取っていますか?もしそうなら、この場合の標準/ベストプラクティスソリューションはありますか?
編集:ジョブの名前にちなんで各ログファイルに名前を付けたい理由は、各ジョブが自然に「作業単位」を定義し、ジョブの1つが失敗した場合に適切なログファイルを見つけるのが簡単だからです。単純にローリングログファイルをジョブに使用することもできa,b,c
ましたが、ログを調べて各ジョブの開始位置と終了位置を特定するのが難しいことがわかりました。