The app uses Handlebars.Net for email templating. Check out the Handlebars Guide for information on the Handlebars syntax.
All templates can access the following special properties:
$DateTimeFormat
— the date/time format string defined in the app's settings$EventType
— the numeric event type assigned to the event$EventUri
— a link to the event in the Seq UI (not valid for alerts)$Exception
— the exception associated with the event, if any$Id
— the Seq event id$Instance
— the Seq server's instance name, if any$Level
— the event's level as a string$LocalTimestamp
— the timestamp of the event, in the server's time zone (deprecated)$Message
— the event's fully-rendered message$MessageTemplate
— the event's message template$Properties
— a dictionary containing all first-class event properties (see below)$ServerUri
— the Seq server's base URL$TimeZoneName
— the time zone name defined in the app's settings$UtcTimestamp
— the timestamp of the event
The event's first-class properties do not use prefixed $
names, so if an event carries a RequestId
property, this is accessed in the template as {{RequestId}}
, not {{$RequestId}}
.
Notifications for Alerts can use the properties listed in the Seq documentation.
- Helpers are defined here
- All above values are supported just remove the $ from the key name as a the template data
The app makes the following helper functions available in templates.
Name | Description | Example usage |
---|---|---|
datetime |
Format a date time, optionally specifying a time zone | {{datetime $SliceStart 'o' 'Australia/Brisbane'}} |
if_eq |
Compare two values for equality and optionally execute a specified block | {{#if_eq $Level 'Error'}} Oops! {{/if_eq}} |
pretty |
Pretty-print a value, converting arrays and objects to JSON | {{pretty Results}} |
substring |
Compute a substring given start index and optional length | {{substring Uri 0 5}} |
This repository originally included the following apps from Datalust, each now in their own dedicated repositories:
- Html Email - html email using smtp - The handlerbars Code was from this repo with modifications for SendGrid.
- Helpers are defined here.
- File Archive - write incoming events into a set of rolling text files
- First of Type - raise an event the first time a new event type is seen
- Replication - forward incoming events to another Seq server
- Thresholds - raise an event if the frequency of matched events exceeds a threshold
- Digest Email - send multiple events as a single HTML email
- Health Check Input - periodically GET an HTTP resource and write response metrics to Seq
- GELF Input - ingest events GELF format over TCP or UDP
- JSON Archive - write incoming events into a set of rolling files, in JSON format
- RabbitMQ Input - ingest events from RabbitMQ
- Syslog Input - ingest syslog events over UDP