Structure of a log entry
This guide explains the structure, properties, and JSON serialization format of logs generated by ArgusLogs. Understanding this output schema allows you to build dashboards, configure log shippers (Elastic, Grafana Loki, Datadog), and query ClickHouse/SQL sinks effectively.
Every telemetry event captured in ArgusLogs is formatted as a structured object. Instead of parsing arbitrary string lines, every log shares a set of well-defined fields:
Core log entry fields
| JSON Field | C# Type | Description |
|---|---|---|
| timestamp | DateTime | UTC date and time when the telemetry was recorded. |
| level | string | Log severity (Trace, Debug, Information, Warning, Error, Critical). |
| category | string | Source subsystem (Network, Database, MethodBoundary, App). |
| message | string | Human-readable explanation of the event. |
| traceId | string (Guid) | Correlation ID linking all logs in a single HTTP request lifecycle. |
| spanId | string (Guid) | Identifies the specific operation span within the trace hierarchy. |
| parentId | string (Guid) | Identifies the parent span that triggered this sub-operation. |
| logNum | int | Sequential counter of the log event within the current trace scope (1-based). |
| duration | string | Latency (e.g. "14.25ms") for queries, network calls, and methods. |
| methodName | string | The code method executing when the log was captured. |
| data | object | Structured payload: variables, query parameters, or request headers. |