Seq clients and CLEF: error alerts in Telegram, Discord and Pushover
Already sending logs to Seq with Serilog.Sinks.Seq or another Seq client? Point the same client at BugsRadar. It takes CLEF, the compact JSON format of Serilog and Seq, and sends the errors in it to your channels. No BugsRadar package needed; your Seq setup stays as it is.
Free plan · no package · your events are never stored
A second address for the sink you already have
Add a second WriteTo.Seq with the BugsRadar address and the project's API key. Your own Seq sink, if you have one, stays as it is. Seq clients for other loggers and languages take the same address; anything else can post CLEF directly, one JSON object per line.
using Serilog;
using Serilog.Events;
Log.Logger = new LoggerConfiguration()
.WriteTo.Seq("https://api.bugsradar.com/api/v3/clef",
apiKey: Environment.GetEnvironmentVariable("BUGSRADAR_KEY"),
restrictedToMinimumLevel: LogEventLevel.Error)
.CreateLogger();
ErrorandFatalevents go to your channels; the rest are accepted and dropped, so restrict the sink to errors and keep the traffic small.@mt, the message template, groups repeats:Payment {PaymentId} declinedfor every payment is one error with a count.@x, the exception as .NET prints it, gives the exception type, the inner exceptions and the stack.SourceContextbecomes the category,MachineNamethe host andEnvironmentNamethe environment.- Up to 50 requests per minute per project on the Free and Pro plans; a client that sends only errors stays far below.
Any client that speaks CLEF
The docs cover each way in.
Serilog.Sinks.Seq
A second WriteTo.Seq next to your Seq one, with restrictedToMinimumLevel: LogEventLevel.Error. Serilog.Sinks.Seq →
Other Seq clients
Seq clients for other loggers and languages take the same address and add the path themselves. Other CLEF senders →
Raw CLEF over HTTP
One JSON object per line to the ingest endpoint, with the key in the X-Seq-ApiKey header. Post CLEF directly →
Prefer a package?
BugsRadar.Serilog does the same and more: repeats leave as one request with a count, and an error seen by both ILogger and Serilog is sent once. Serilog sink →
Where the alerts go
Alerts go through your own Telegram bot, Discord webhook or Pushover application: you decide who reads the chat.
- Telegram - a private chat, a group or a channel, through the bot you create with @BotFather; repeats are counted in the first message, without a new notification.
- Discord - any text channel of your server, through a webhook; no bot to install, and the count of repeats is written into the first message too.
- Pushover - push notifications on your phone or desktop, for one person or a whole delivery group; repeats arrive as short summaries.
Coming with Business: Slack, Microsoft Teams, Google Chat and PagerDuty.
An alert next to Seq, not a replacement
BugsRadar does one thing: it brings every new error to your chat. It is honest about what it leaves to other tools.
- No log storage. BugsRadar keeps no events and has no query page; keep Seq for that and add BugsRadar for the alert.
- Errors only. Verbose, Debug, Information and Warning events are accepted and dropped: nothing below an error reaches the chat.
- No dashboard. There is no page that lists your errors; the chat is the interface.
Questions developers ask
Do I have to drop Seq?
No. Add a second WriteTo.Seq with the BugsRadar address; the one that writes to your Seq server stays as it is.
Which events reach the chat?
Error and Fatal. Everything else is accepted and dropped, so there is no point in shipping it: restrictedToMinimumLevel: LogEventLevel.Error keeps it on your side.
How are repeats grouped?
By the message template in @mt, or by the exception type and the top frames of your code in @x. Without a template, the text in @m is grouped with numbers, ids and quoted values masked.
Is there a limit?
Up to 50 requests per minute per project on the Free and Pro plans, up to 1 MB per request. A Seq client sends one request per batch, so a client that sends only errors stays far below; on 429 it waits for Retry-After and sends the batch again.
Does BugsRadar store my errors?
No. An event stays in memory only until it is delivered to your channels; nothing is written to a database. BugsRadar keeps only what it needs to run: your email, your projects and the encrypted settings of your channels.
Pricing
Plans differ by features, not by volume: no event quotas and no per-seat fees on any plan. Free is 2 projects and 3 channels, Telegram, Discord and Pushover, every package and the HTTP endpoint, duplicate filtering and a live count of repeats. Pro, $5 per month or $50 per year, adds unlimited projects and channels and rules that route errors by level, module and environment. Compare the plans →
Your first alert from Seq in a few minutes
Sign in with your email, create a project, add a second address to the sink.
All platforms →