@@ -41,6 +41,7 @@ defmodule LogflareEx.Client do
4141 - `:source_token`: Source UUID. Mutually exclusive with `:source_name`
4242 - `:source_name`: Source name. Mutually exclusive with `:source_token`
4343 - `:on_error`: mfa callback for handling API errors. Must be 1 arity.
44+ - `:on_prepare_payload`: mfa callback or anonymous function for preparing the final payload before sending to API. Must be 1 arity.
4445 - `:auto_flush`: Used for batching. Enables automatic flushing. If disabled, `LogflareEx.flush/1` must be called.
4546 - `:flush_interval`: Used for batching. Flushes cached events at the provided interval.
4647 - `:batch_size`: Used for batching. It is the maximum number of events send per API request.
@@ -61,6 +62,7 @@ defmodule LogflareEx.Client do
6162 field ( :source_token , String . t ( ) )
6263 field ( :source_name , String . t ( ) )
6364 field ( :on_error , list ( ) | mfa ( ) , default: nil )
65+ field ( :on_prepare_payload , list ( ) | mfa ( ) , default: nil )
6466 # batching
6567 field ( :auto_flush , :boolean , default: true )
6668 field ( :flush_interval , non_neg_integer ( ) , default: @ default_flush_interval )
@@ -79,6 +81,7 @@ defmodule LogflareEx.Client do
7981 source_name: get_config_value ( :source_name ) ,
8082 tesla_client: nil ,
8183 on_error: get_config_value ( :on_error ) ,
84+ on_prepare_payload: get_config_value ( :on_prepare_payload ) ,
8285 flush_interval: get_config_value ( :flush_interval ) || @ default_flush_interval ,
8386 batch_size: get_config_value ( :batch_size ) || @ default_batch_size
8487 } )
0 commit comments