ログデータのメンテナンス(自動削除)

<< Click to Display Table of Contents >>

マニュアル > サーバ作成ガイド > アクション編 > アクションリファレンス > ロガーアクション(ロギングのみ) >

ログデータのメンテナンス(自動削除)

ログデータのメンテナンスについて

ロギングデータのメンテナンス(自動削除)に関する設定は、ロガーアクションのプロパティから行います。「ログ詳細」タブの「データベースのメンテナンスを行う」をチェックすると、決められた期間でログデータのレコードを自動的に削除します。この期間は日単位で指定することが可能です。

 

なお、ログデータの削除は以下のタイミングで行われます。

 

日付が変更されるとき
実運用時など、システムが連続的にオンラインにされている状態の場合、ログデータのメンテナンスは日付が切り替わるタイミングで行われます。

 

オンラインにしたとき
オフラインからオンラインに切り替えた時点で、メンテナンスが必要かどうかを判断し、必要であればログのメンテナンスを行います。オンライン/オフラインの切り替えを1日の中で数回繰り返し実施した場合でも、メンテナンスが行われるのは1日に1回のみです。

 

イベントパラメータで任意のタイミングを指定したとき
イベントの実行アクション登録時にパラメータとしてMAINTENANCEを指定して登録するとロギングは実行されずに、メンテナンスのみの呼び出しとなります。

 

c_action_logger_0041

 

 

CSVのメンテナンス処理

CSVファイルへのロギングの場合、メンテナンスの処理内容はファイル名の拡張方法によって異なります。

c_action_logger_0119

 

項目

動作

なし

日付ごとにファイルが分けられていない場合、メンテナンスが実行されるとログファイル内のレコードを検索し、削除対象となるレコードを削除した一時ファイルを仮作成します。すべて無事に保存できたことを確認すると、元ファイルを削除して一時ファイルと置き換えます。

この時、メンテナンス対象のログファイルが外部アプリケーションなどからオープンされていると、ファイルの削除ができない事によりメンテナンス作業は中断され、次回のメンテナンスのタイミングでリトライされます。

ファイル名に日付・時刻を付加する

日付ごとにファイルを分けている場合、メンテナンス処理は対象となる日付のファイルを削除します。ファイルを削除するのみの処理なので、高速な処理が行われます。

なお、削除を行うか否かの判定では、以下の日付書式に従ってファイル名から日付を抜き出して判断します。

 

「%Y%m%d%H%M%S」「%Y%m%d%H%M」「%Y%m%d%H」「%Y%m%d」「%Y%m」「%Y」

 

上のいずれにも当てはまらない場合には、以下の「ファイル名にタグ値を付加する」の場合と同様の処理が行われます。

ファイル名にタグ値を付加する

指定されたファイルのパスに存在する全てのファイルを検索し、ファイル名で指定した「\パス\ファイル名.拡張子」の文字がすべて含まれており、かつ「ファイルの更新日時」(OSの属性)が指定した期間よりも古い日付のファイルを削除します。

ファイルを削除するのみの処理なので、高速な処理が行われます。

 

 

attention

外部アプリケーションなどでログファイルをオープンしている場合には、メンテナンス処理が中断されて次回のメンテナンス時まで処理が持ち越される可能性がありますのでご注意ください。

 

attention

メンテナンス対象のログファイルが格納されているフォルダ内に、ログファイル以外のファイルが混在している場合には、それらのファイル名に注意してください。

ファイル名や作成日付が削除条件と一致した場合、予期せぬファイルが削除される可能性があります。従って、ログファイルを格納するフォルダはログ専用のフォルダとして作成し、システムやアプリケーションフォルダ等とは分けた構成とすることを推奨します。

 

 

データベース(ODBC)のメンテナンス処理

メンテナンスが実行されると、SQLコマンドの発行によって削除対象レコードが削除されます。

 

なお、Oracleの場合、日付の書式で'yyyy-mm-dd'が使用できる設定にして下さい。