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