5 監査の出力の使用
Oracle JAF構成をカスタマイズして、必要に応じて出力を調整できます。
監査の出力について
監査の範囲を指定する以外に、Oracle JAF構成プロパティ(files、excludes、severity、groups、ruleNames、ruleModsなど)を使用して、出力の形式をカスタマイズすることもできます。
Oracle JAFには、監査レポートの出力をカスタマイズする次のような方法があります。
-
レポートされる問題の形式をproseFormat構成プロパティを使用してカスタマイズできます。title構成プロパティを使用して、カスタム・レポート・タイトルを追加することもできます。
- formatおよびoutPath構成プロパティを使用して、出力形式をJSONにするように指定できます。その後、このJSONを処理して、必要な出力を作成できます。たとえば、Webで使用するためにHTMLを生成したり、その他の情報を出力に挿入し、作成されたファイルを電子メールで配信したりすることもできます。
ルールの詳細の表示
監査結果のルール名またはルール・メッセージIDを使用して、ルールの説明を取得できます。
[71, 41] <oj-list-view> attribute 'selection' is deprecated!
Use selected attribute instead. [JET-0080 : oj-html-ojattr-deprecated]
ojaf --help
を使用してルールの説明を取得できます。 ojaf --help oj-html-ojattr-deprecated
Rule: oj-html-ojattr-deprecated Severity: major
JET component deprecated attributes should not be used.
または、メッセージIDがわかっていれば、ルール名とルールの説明を取得できます。
ojaf --help JET-0080
Rule: oj-html-ojattr-deprecated Severity: major
JET component deprecated attributes should not be used.
ノート:
ルールのヘルプを取得するには、アプリケーションのoraclejafconfig.json
ファイルがあるディレクトリでojaf --help
を実行する必要があります。デフォルトでは、これはアプリケーションのルートです。
監査結果にルール名を表示する方法の詳細は、「監査メッセージでのルール名の表示」を参照してください。
監査メッセージのデフォルト形式の切替え
Oracle JAF構成ファイルのオプション・プロパティformatを使用して、監査メッセージ用のデフォルト表示形式を指定します。
JAF構成ファイルのformatプロパティをproseまたはlineに設定すると、監査メッセージのデフォルト表示を2つのスタイルのいずれかに切り替えることができます。prose形式では監査メッセージがレポート・スタイルで表示されますが、line形式では監査メッセージが単一行にフラットに表示されます。
どちらのスタイルでも、「監査メッセージのプレゼンテーションのカスタマイズ」の説明に従って作成したカスタム・テンプレートを適用して、監査メッセージのプレゼンテーションをカスタマイズできます。
監査メッセージでのルール名の表示
Oracle JAFで、レポートされた監査メッセージに対応するルール名を付加することができます。そのルール名を使用するとルールの説明を取得できます。
[71, 41] <oj-list-view> attribute 'selection' is deprecated!
Use selected attribute instead. [JET-0080 : oj-html-ojattr-deprecated]
ojaf --help
を使用してルールの説明を取得できます。 ojaf --help oj-html-ojattr-deprecated
Rule: oj-html-ojattr-deprecated Severity: major
JET component deprecated attributes should not be used.
または、メッセージIDがわかっていれば、ルール名とルールの説明を確認できます。
ojaf --help JET-0080
Rule: oj-html-ojattr-deprecated Severity: major
JET component deprecated attributes should not be used.
ノート:
ルールのヘルプを取得するには、アプリケーションのoraclejafconfig.json
ファイルがあるディレクトリでojaf --help
を実行する必要があります。デフォルトでは、これはアプリケーションのルートです。
監査メッセージのプレゼンテーションのカスタマイズ
Oracle JAF構成ファイルのオプションのプロパティproseFormatおよびlineFormatを使用して、レポートされる監査問題のプレゼンテーションを再定義するテンプレートを定義します。
JAF構成ファイルのformatプロパティがproseまたはlineに設定されている場合は、proseFormatおよびlineFormatの各プロパティを使用して、表示される監査問題の形式を指定するカスタムのプレゼンテーション・テンプレートを定義できます。
prose形式の監査メッセージはAudit for
というテキストで始まります。

図audit_lineformat.pngの説明
次は、別のテンプレートを使用したline形式の監査メッセージです。

図audit_proseformat.pngの説明
proseFormatを省略すると、Oracle JAFでは、次のように表示されるデフォルト・テンプレート"%pos1 %s : %m"
が使用されます。
次のトークンのいずれかを任意の順序で含めた文字列としてプロパティのテンプレートを指定します。JAFによって、実行時に監査メッセージ出力のトークンが置換されます。
監査メッセージのトークン | 置換値 |
---|---|
%l | 行番号のみ。 |
%c | 列番号のみ。 |
%pos1 | 大カッコで囲まれたカンマ区切りの行番号と列番号。たとえば: [46, 25] |
%pos2 | カッコで囲まれたカンマ区切りの行番号と列番号。たとえば: (46, 25) |
%s | 処理されるルールの重大度レベル。 |
%m | 監査問題メッセージ全文。 |
%mid | 完全な監査メッセージID。たとえば、JET-1234 |
%p | ルール・セットの接頭辞。たとえば、組込みJETルール・セットではJET です。
|
%n | 監査メッセージ番号のみ。たとえば、1234 |
%r | ルール名。 |
%f | ファイル・パス。 |
監査レポートのタイトルの書式設定
Oracle JAF構成のオプションのtitleプロパティを使用して、監査レポートのタイトルを作成できます。
JAF構成ファイルのformatプロパティがprose (デフォルト)に設定されている場合、titleプロパティを使用して、監査出力に表示するタイトル・ヘッダーの書式を設定できます。タイトル定義には、Oracle JETバージョンなどの値をタイトルに挿入するためにトークンを含めることができます。
監査タイトルのトークン | 置換値 |
---|---|
$jafdate | 現在の日付、「Friday Feb 14, 2020」など。 |
$jaftime | 現在の時刻、「8:05am EDT」など。 |
$jetver | Oracle JETバージョン、「8.1.0」など。 |
%jafver | Oracle JAFバージョン、「2.4.0」など。 |
%jafconfig | 監査で使用されるOracle JAF構成ファイルのファイル・パス、「D:\myproject\oraclejafconfig.json」など。 |
JSON形式での監査メッセージの出力
Oracle JAF構成ファイルのオプション・プロパティformatを使用して、監査の出力形式をJSONドキュメントにするように指定します。次にJSONを処理して、必要な出力を作成します。
JAF構成ファイルのプロパティformatをjsonに設定すると、監査の出力をJSON形式で生成できます。JAF構成プロパティoutPathを定義して、要望するディレクトリにJSONドキュメントを出力するようにJAFに指示できます。
JSON出力の構造は次のとおりです。
JSONセクション | 説明 |
---|---|
reported | レポートされた問題オブジェクトの配列を含む各監査ファイルのための配列オブジェクト。 |
summary | 検出された問題の数や処理されたファイルの数などのサマリー・データを含むオブジェクト。 |
run | 実行日時やJETバージョン番号など、実行データを含むオブジェクト。 |
descriptions | reportedセクション内の問題についてルール説明を含むオプションのオブジェクト。次で説明するように、JAF構成プロパティruleDescriptionsを使用して構成する必要があります。 |
fileset | 監査で処理されるファイル・セットを含むオプションのオブジェクト。次で説明するように、JAF構成プロパティaddFileListを使用して構成する必要があります。 |
これは、レポートされる問題の典型的なJSON出力を一部省略したサンプルです。
{
"reported": [
{
"file": "/tests/rules/oj-html-binding-attr/binding-foreach_FAIL_2.html",
"issues": [
{
"severity": "minor",
"msg": "Use of attribute 'id' is meaningless for binding element <oj-bind-for-each>",
"msgId": "JET-0015",
"position": {
"row": 14,
"col": 12,
"start": 467,
"end": 482
},
"rule": "oj-html-binding-attr"
}
]
},
. . .
],
"summary": {
"severities": {
"blocker": 0,
"severity": 0,
"major": 0,
"minor": 0,
"info": 1
},
"issues": 1,
"issueFiles": 1,
"errorFiles": 0,
"parseErrors": 0,
"errors": 0,
"warnings": 1,
"asserts": 0,
"files": 1,
"urls": 0,
"rulesActive": 64,
"rulesFired": 41,
"hooksFired": 15
},
"run": {
"date": "Tues, 14 April 2020 15:52:39 GMT",
"jetversion": "8.1.0",
"title" : "Testing",
"config": "d:\\runAudit\\testing_config.json"
}
}