The titan Log Engine
The titan Log Engine is in charge of fetching log messages from a kafka topic and providing it. It can be reached via a websocket connection.

Building/ running
To run the service simply use go run ./cmd/logengine
or to create an executable file go build ./cmd/logengine
It features the following command line arguments:
| Name | Options (default) | Purpose |
|---|---|---|
| port | (9007) | Port on which the log service serves |
| log-level | info/debug/warning/error | Log level |
| (info) | ||
| to-stdout | true/false (true) | Flag: set to true to print logs to stdout |
| config-file | (internal/app/logengine/config.yaml) | Configuration file |
| kafka | 10.14.0.23:9092 | URL of the Kafka broker () |
| topic | titan.logs | Topic with the Titan logs in UJO format |
| log-to-kafka | (false) | Flag: use kafka hook for logging |
| service-topic | (titan.servicelogs) | kafka topic for logs |
Generally, all settings listed above can be done also via environment variables, whereby the variables are composed of a prefix (TITAN_LE) and the argument using snake case:
TITAN_LE_ARGUMENT, e.g. TITAN_LE_LOG_LEVEL
Usage
Fetching log messages
Open a websocket connection to HOST:PORT. The Log Engine will send back log message objects as JSON objects until the connection is closed.
Unsubscribing from the Log Engine
You can unsubscribe from Log Engine by sending a json object:
{
"payload": "stop"
}
Filtering
To filter the log messages you need to send a json object with the key:value pairs of the Log message object you want to filter for, e.g.
{
"payload": { "Severity": "Info"}
}
Log message object
structure of a log message object is
Items:
| Name | Type | Doc | Constraints |
|---|---|---|---|
| Timestamp | map | time stamp of creation | |
| Severity | string | Severity level of the log message | |
| Hostname | string | Name of the sending host | |
| Servicename | string | Name of the sending service | |
| Message | string | Log Message | |
| FlowUID | string | UUID of the flow | |
| BrickUID | string | UUID of the brick |