12. イベントログ

Metacat は内部的にイベント(たとえば追加、更新、削除、閲覧)のログを保存しており、 getlog 操作によってそれにアクセスできる。 getlog 操作を使うと、Metacat から XML 形式でイベントレポートを出力させる ことができる。また特定のイベントだけを出力するように調整できる。 特定のIPアドレスやユーザからであったり、イベントの種類、イベントが 発生した日時などによって。

以下のURL を使うと、ログが初期化されて以来のすべてのイベントについて 基本ログ(XML形式のログ)が得られる。:

http://some.metacat.host/context/metacat?action=getlog

なお、HTTP インタフェイスを使って Metacat にログインしなければならない。 そうでなければエラーメッセージが返ってくる。 ログインについてより詳しくは、「HTTP インタフェイスでログインする」を 参照のこと。

<!-- Example of XML Log -->
<?xml version="1.0"?>
<log>
<logEntry><entryid>44</entryid><ipAddress>34.237.20.142</ipAddress><principal>uid=jones,
o=NCEAS,dc=ecoinformatics,dc=org</principal><docid>esa.2.1</docid><event>insert</event>
<dateLogged>2004-09-08 19:08:18.16</dateLogged></logEntry>
<logEntry><entryid>47</entryid><ipAddress>34.237.20.142</ipAddress><principal>uid=jones,o=NCEAS,
dc=ecoinformatics,dc=org</principal><docid>esa.3.1</docid><event>insert</event><dateLogged>2004-
09-14 19:50:40.61</dateLogged></logEntry>
</log>

基本ログは非常に多量になることがある。 レポートから一部を取り出すには、パラメータを使って 適合するイベントを制限する。検索パラメータを 組み合わせて更にレポートを制限することができる。

パラメータ 説明および値
ipAddress レポートをこのIP アドレスにに制限する(重複可)
principal レポートをこのユーザに制限する(重複可)
docid レポートをこの docid に制限する(重複可)
event レポートをこのイベントの種類に制限する(重複可) 値: insert, update, delete, read
start レポートをこの日付以降のイベントに制限する 値: YYYY-MM-DD+hh:mm:ss
end レポートをこの日付以前のイベントに制限する 値: YYYY-MM-DD+hh:mm:ss

‘read’ イベントだけを閲覧するには、次のような URL を使う:

http://some.metacat.host/context/metacat?action=getlog&event=read

特定の IP アドレスに対するイベントのみを閲覧するには、:

http://some.metacat.host/context/metacat?action=getlog&ipaddress=107.9.1.31

あるユーザに対するイベントのみを閲覧するには:

http://some.metacat.host/context/metacat?action=getlog&principal=uid=johndoe,o=NCEAS,dc=ecoinformatics,dc=org

特定の文書に対するイベントだけを閲覧するには:

http://some.metacat.host/context/metacat?action=getlog&docid=knb.5.1

ある日付以降のイベントのみを閲覧するには:

http://some.metacat.host/context/metacat?action=getlog&start=2004-09-15+12:00:00

ある日付以前のイベントのみを閲覧するには:

http://some.metacat.host/context/metacat?action=getlog&end=2004-09-15+12:00:00

2004年9月の’insert’イベント(すなわちパラメータを組み合わせる)のみを閲覧するには:

http://some.metacat.host/context/metacat?action=getlog&event=insert&start=2004-09-01+12:00:00&end=2004-09-30+23:59:59