From: Thierry Parmentelat Date: Tue, 30 Jun 2009 22:09:18 +0000 (+0000) Subject: log ReportRunLevel only when run_level actually changes, avoid spamming the events... X-Git-Tag: PLCAPI-4.3-21~2 X-Git-Url: http://git.onelab.eu/?a=commitdiff_plain;h=af782638a7d06979c01c4de114f549ab59c2b58c;p=plcapi.git log ReportRunLevel only when run_level actually changes, avoid spamming the events table --- diff --git a/PLC/Methods/ReportRunlevel.py b/PLC/Methods/ReportRunlevel.py index 57b3afe..3b61773 100644 --- a/PLC/Methods/ReportRunlevel.py +++ b/PLC/Methods/ReportRunlevel.py @@ -37,6 +37,10 @@ class ReportRunlevel(Method): nodes = [self.caller] node = nodes[0] + # avoid logging this even too often + # avoid logging occurrences where run_level does not change + former_level=None + if 'run_level' in node: former_level=node['run_level'] node.update_last_contact() for field in can_update: @@ -44,7 +48,15 @@ class ReportRunlevel(Method): node.update({field : report_fields[field]}) node.sync(commit=True) - - self.message = "Node Runlevel Report : %s" % ", ".join(report_fields.keys()) + + # skip logging in this case + if former_level and 'run_level' in node and node['run_level'] == former_level: + pass + else: + # handle the 'run_level' key + message="run level " + node['hostname'] + ":" + if 'run_level' in report_fields: + message += former_level + "->" + report_fields['run_level'] + message += ", ".join( [ k + "->" + v for (k,v) in report_fields.items() if k not in ['run_level'] ] ) return 1