指定できるジョブパラメータ
ジョブに指定するパラメータを複数、指定することができます。
ここで指定できるパラメータ(キーと値)は次の通りです。
キー(パラメータ名)
必須
説明
値の記述例
type
-
次の6つの文字列のいずれかを指定します。"ALL", "DEBUG", "INFO", "WARN", "ERROR", "FATAL"
省略時は "ERROR" となります。"ALL" を指定すると、すべてが対象になります。
WARN
keyword
-
指定した文字列を含むログを取得します。例えば "JFC-" と設定すると、ログコードが含まれるログを取得することができます。
先頭に "OR" を付与すると、そのあとの文字列を空白区切りのキーワードと扱い、OR 検索を行います。OR を付与せず複数のキーワードを空白区切りで列挙すると AND 検索を行います。8.5.7/9.0.3
JFC-
OR JFC-00001 JFC-90000
JFC-00001 JFC-90000
interval
-
1日に複数回、このジョブを実行する場合の時間間隔を指定します。[詳細は下記「interval値の扱い」をお読みください。 ]
8h
script
-
文字列処理を行うサーバサイドJavaScriptコードを直接、記述します。各ログ行に対してこのスクリプトが実行されます。[後述]
このジョブの実行結果も、またログファイル(system.log)に記載されます。
interval 値の扱い8.5.9/9.1.0
ジョブスケジュールで指定する時間とは別に、この指定を行うことができます。末尾が 'h' のときは時間を、末尾が 'm' の場合は分を意味します。接尾語がない場合は秒になります。(*1)
値は24時間以内で指定します。毎日18時にこのジョブを起動し、interval に '8h' と指定すると、10時から18時までのログを対象とします。(*2)
メール送信の設定
上記パラメータとあわせて「ジョブの実行結果をメールで送信する」設定を行ってください。 これでログの内容を指定したメールアドレスへ送信します。
メール送信パラメータ mail:doNotSendEmptyMessage にtrue
を指定すると、ログが存在しなかった場合はメールは送信されません。
ジョブの実行を停止する
ジョブを一時的に無効にすることができます。
管理者権限をもったアカウントでログオンします。
管理処理メニューから「ジョブ管理... > ジョブスケジュール検索」画面を開きます。
該当する「ジョブスケジュール」を検索し、更新画面を開きます。
「有効」フラグについているチェックをはずし、保存します。
ジョブを無効にする
多重実行の抑制
ジョブの多重実行を行うことはできません。
あるジョブを 1 分毎に起動させるようにした場合、1 分後にこのジョブの実行が終了していなければ、新しいジョブは実行されません。
設定例
CSVダウンロード処理が実行されたログをメールで送信する
パラメータ
パラメータキー 値
mail:to foo@jasminesoft.co.jp, bar@jasminesoft.co.jp
mail:from info@jasminesoft.co.jp
mail:host MAILSERVERNAME
mail:subject [Download log from system]
mail:doNotSendEmptyMessage true
keyword download
type ALL
interval 3h
スケジュール
単位
秒
分
時
日
月
曜日
年
値
0
0
0,3,6,9,12,15,18,21
*
*
?
*
スクリプトを利用する
パラメータ "script" を使うと、ログ本文の文字列の内容も判断材料に加えることができます。
特定のログメッセージが含まれていた場合に限定する
scriptパラメータの値部分に次のように直接、コードを記載します。関数名は checkLog とします。引数 log のメソッド getMessage を使って、ログ本文を取得することができます。この関数の戻り値が true の場合が対象となります。
function checkLog(log) {
var s = log.getMessage();
var msg = '';// チェックしたいログメッセージを記述
var cnt = s.indexOf(msg);
if (cnt >= 0) {
return true;
}
return false;
}
コードサイズは、お使いのデータベースの文字列型の範囲内におさまるようにしてください。おおむね1000から2000文字あたりが目安となります。