ログの書き込みタイミング
WebLogicのログについては注意が必要です。
通常のアプリと異なり、リアルタイムで更新が行われません。
ログの設定はサーバーの「ロギング」タブで行われます。
一番下の「詳細」を展開するとやっと設定を見ることができます。
「ログ・ファイル・バッファ」が重要です。
この数値は「指定されたサイズのログをメモリに確保しておき、メモリが一杯になったらログに書き込む」という設定になります。
デフォルトでは「8」が設定されていますので、8KBを超えないとログファイルに書き込まれないという設定になっています。
構築直後に「ログファイルが作成されない」という場合はここを確認しましょう。
構築直後は「0」にして即時ログファイルへ書き込むようにした方が良いと思います。
ログローテーション設定
ログローテーション設定も「ロギング」タブで行います。
ローテーションのタイミングは「ログファイルサイズ」か「一定時間間隔」の2つが選択できます。
時間でのローテーションは注意が必要です。
「ローテーション開始時刻」「ローテーション間隔」でlogrotateのように1日1回ローテーションができるように感じますが、ちょっと違います。
「ローテーション開始時刻」のヘルプを見ると「WebLogic Serverにはログ・ファイルの過剰な膨張を防ぐために500 MBのしきい値が設けられており、このしきい値を超えると強制的なローテーションが行われます。」という記載があります。
そのため、正確には「500MB単位でローテーションを行うが、500MB未満の場合は指定した時刻でローテーションを行う」という内容になります。
「保存する世代数」も同様で、「日数」ではなく「世代」です。
「500MB」単位で「世代」がカウントされるので、保存できる「日数」と捉えてしまうとアクセスが多いサイトでは想定した日数以下のログファイルしか保存されなくなります。
ここは私もはまりました。
管理画面の説明を鵜呑みにせず、ヘルプの内容をきちんと確認することが重要となります。
コメント