Formats a log event.
Creates a new configuration for the formatter.
@type encoder_opts() :: JSON.encoder() | [Jason.encode_opt()] | term()
@type opts() :: [ {:encoder_opts, encoder_opts()} | {:metadata, :all | {:all_except, [atom()]} | [atom()]} | {:redactors, [{module(), term()}]} | {atom(), term()} ]
@callback format(event :: :logger.log_event(), opts :: opts()) :: iodata()
@callback new(opts()) :: {module(), term()}