Skip to main content

event_hydrant – Message Tracking

Last updated March 2020

The event_hydrant module is used for tracking messages from generation through engagement. It exports a jlog file that provides the full disposition status of every message that goes through Momentum, including message generation, message reception, message delivery, and engagement tracking. Note that this module combines the functionality of the ec_logger and bounce_logger with engagement tracking.

Ensure that you have a subscriber for the jlog file generated by this module. For an example of a jlog reader, see “Using JLog::Reader”.


Event data, tracking the full disposition status of every message that goes through Momentum, is also available in the following:

Therefore, writing the event_hydrant jlog file is typically disabled by default. This option must be enabled if you wish to create the jlog file.


The event_hydrant module is configured in the ecelerity.conf file. The following is the default configuration:

event_hydrant "event_collector" {
  concurrency = 1
  cust_prefix = "cust_"
  jlog_filename = "jlog:///var/log/ecelerity/event_hydrant.rt=>event_consumer"
  log_click = true
  log_conversion = true
  log_delivery = true
  log_genfail = true
  log_genrejection = true
  log_inband_bounce = true
  log_open = true
  log_outofband_bounce = true
  log_reception = true
  log_rejection = true
  log_tempfail = true
  # Set to "false" by default. Set to "true" to write jlogs
  write_jlog = false

The following are the configuration options defined by this module:


Define the number of threads to use. Default value is 1.


This option enables you to add your own data to the jlog by logging arbitrary context variables. Any context variable created using this prefix will be added to the jlog. Default value is cust_. When using Lua policy, use msg:context_set to set the context variable.


Specify the location, name, and subscriber of the jlog file generated by this module. To use this option, write_jlog must be set to true. Default value is jlog:///var/log/ecelerity/event_hydrant.rt=>event_consumer.


For a plain text log, drop the jlog:// prefix.


Whether to log click events. Default value is true.


Whether to log conversion events. Default value is true. Note: Conversion events have not yet been implemented.


Whether to log deliveries. Default value is true.


Whether to log message generation failure events. Default value is true.

An event is recorded for each individual failure. For example, if a transmission has 100 recipients and 20 of them have invalid email addresses, 20 generation failure events are logged.


Whether to log a generated message that is rejected by policy. Default value is true.


Whether to log in-band bounces. Default value is true.


Whether to log open events. Default value is true.


Whether to log out-of-band bounces. Default value is true.


Whether to log receptions. Default value is true.


Whether to log rejections. Default value is true.


Whether to log temporary failures. Default value is true.


Whether to write jlogs. Default value is false. This option must be enabled if you wish to create jlogs. The location of the jlog file is determined by the jlog_filename option.

If this option is enabled, logs will be written individually on each Platform node so custom applications can read event data. You are not required to implement aggregation in order to read jlogs.

Was this page helpful?