Red Hat Training

A Red Hat training course is available for Red Hat Directory Server

7.5.3.2. 名前された Pipe ログスクリプトで使用するプラグインの作成

ds-logpipe.py コマンドは、任意のプラグインで最大 3 つの関数である plugin ()pre ()、および post () という関数を想定します。
ds-logpipe.py コマンドで使用されるプラグインではplugin 関数を指定する必要があります。
plugin () 関数はログデータのすべての行に対して実行されますが、pre () 関数および post () 関数はスクリプトの開始および停止時に実行されます。
各関数に引数を定義することができます。また、これらの引数は plugin.arg オプションを使用してスクリプトに渡すことができます。また、各関数には、独自の戻り値とアクションを定義できます。

例7.8 Simple Named Pipe Log Plug-in

def pre(myargs):
    retval = True
    myarg = myargs['argname']
    if isinstance(myarg, list): # handle list of values
    else: # handle single value
    if bad_problem:
        retval = False
    return retval

def plugin(line):
    retval = True
    # do something with line
    if something_is_bogus:
        retval = False
    return retval

def post(): # no arguments
    # do something
    # no return value