Source code for EventManager.formatters.json_formatter

import json

from EventManager.formatters.default_formatter import DefaultFormatter


[docs]class JsonFormatter(DefaultFormatter):
[docs] def format(self, metadata, *args): data = dict(metadata) data.update({arg.get_key(): arg.get_value() for arg in args}) return json.dumps(data)
[docs] def format_message(self, metadata, message): data = dict(metadata) data["message"] = message return json.dumps(data)
[docs] def format_element(self, arg): return json.dumps({arg.get_key(): arg.get_value()})[1:-1]
[docs] def format_arguments(self, body, *args): #arg_data = {arg.get_key(): arg.get_value() for arg in args} arg_data = {} for arg in args: if isinstance(arg, str): arg_data = {arg: arg} elif arg.get_key() == "args": arg_data[arg.get_key()] = arg.get_value() break return "\"args\": " + json.dumps(arg_data)