Serilog Sink
Overview
The Serilog sink logs detailed messages about the connector and record details.
The Serilog sink supports writing logs to the following outputs:
These outputs can be configured using the Serilog settings in the configuration file.
Quickstart
You can create the Serilog Sink connector as follows:
$JSON = @"
{
"settings": {
"instanceTypeName": "serilog-sink",
"subscription:filter:scope": "stream",
"subscription:filter:filterType": "streamId",
"subscription:filter:expression": "example-stream"
}
}
"@ `
curl.exe -X POST `
-H "Content-Type: application/json" `
-d $JSON `
http://localhost:2113/connectors/logger-sink-connector
JSON='{
"settings": {
"instanceTypeName": "logger-sink",
"subscription:filter:scope": "stream",
"subscription:filter:filterType": "streamId",
"subscription:filter:expression": "example-stream"
}
}'
curl -X POST \
-H "Content-Type: application/json" \
-d "$JSON" \
http://localhost:2113/connectors/logger-sink-connector
After creating and starting the logger sink connector, every time an event is appended to the example-stream
, the Logger sink connector will print the record to the console. You can find a list of available management API endpoints in the API Reference.
Here is an example:
78689502-9502-9502-9502-172978689502 example-stream@16437 eventType1
78699411-9411-9411-9411-172978699411 example-stream@18975 eventType2
78699614-9614-9614-9614-172978699614 example-stream@19142 eventType3
78699732-9732-9732-9732-172978699732 example-stream@21170 eventType4
78699899-9899-9899-9899-172978699899 example-stream@23711 eventType5
Settings
Adjust these settings to specify the behavior and interaction of your serilog sink connector with EventStoreDB, ensuring it operates according to your requirements and preferences.
Tips
The serilog sink inherits a set of common settings that are used to configure the connector. The settings can be found in the Sink Options page.
The Serilog sink can be configured with the following options:
Name | Details |
---|---|
configuration | Type: string Description: The JSON serilog configuration. Accepted Values: A base64 encoded string of the serilog configuration Default: If not provided, it will write to the console |
includeRecordData | Type: bool Description: Whether the record data should be included in the log output. Default: true |
Write to Seq
Refer to the Seq documentation for installation instructions.
Configure the Serilog sink to export logs to Seq by following these steps:
{
"Serilog": {
"Using": ["Serilog.Sinks.Seq"],
"WriteTo": [
{
"Name": "Seq",
"Args": {
"serverUrl": "http://localhost:5341",
"payloadFormatter": "Serilog.Formatting.Compact.CompactJsonFormatter, Serilog.Formatting.Compact"
}
}
]
}
}
- Browse the Seq UI at
http://localhost:5341
to view the logs.
Follow the configuration guide from Serilog Seq for more details.
Write to a File
Encode the JSON configuration to base64, then provide the base64 encoded configuration to the Serilog sink connector.
{
"Serilog": {
"WriteTo": [
{
"Name": "File",
"Args": {
"path": "/tmp/logs/log.txt",
"rollingInterval": "Infinite"
}
}
]
}
}
This will write logs to /tmp/logs/log.txt
.
Follow the configuration guide from Serilog File for more details.