Developer guide

Understanding log output structure

Learn the JSON schema, categories, and short-key format of ArgusLogs telemetry for dashboards and sinks.

Tutorials are hands-on walkthroughs (prerequisites, install, configuration, code, expected result, explanation, then next steps). Official reference stays in documentation — this is not a full docs clone.

Section 5 of 6 Schema

Network category

When app.UseArgusLogs() is active, middleware intercepts incoming requests and outgoing responses, producing structured Network category entries.

Example — request log

Network ENTER
{
  "timestamp": "2026-07-30T19:55:05.120Z",
  "level": "Information",
  "category": "Network",
  "message": "ENTER - HTTP GET /api/v1/projects",
  "traceId": "fa7dedf4-ec83-4b6e-a3f3-01883f7047b6",
  "spanId": "8b9c2401-26ab-4a1e-8fe5-12a4bdf62002",
  "logNum": 1,
  "methodName": "ProjectsController.GetProjects",
  "data": {
    "url": "https://localhost:5050/api/v1/projects",
    "method": "GET",
    "clientIp": "::1",
    "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7)",
    "deviceType": "desktop",
    "headers": {
      "Accept": "application/json",
      "Authorization": "Bearer eyJhbGciOi..."
    },
    "queryString": "?page=1&size=20"
  }
}

Example — response log

At the end of the request lifecycle, the outbound payload is logged:

Network EXIT
{
  "timestamp": "2026-07-30T19:55:05.240Z",
  "level": "Information",
  "category": "Network",
  "message": "EXIT - HTTP GET /api/v1/projects",
  "traceId": "fa7dedf4-ec83-4b6e-a3f3-01883f7047b6",
  "spanId": "8b9c2401-26ab-4a1e-8fe5-12a4bdf62002",
  "logNum": 15,
  "duration": "120.45ms",
  "methodName": "ProjectsController.GetProjects",
  "data": {
    "statusCode": 200,
    "responseHeaders": {
      "Content-Type": "application/json"
    },
    "responseBody": {
      "status": 200,
      "message": "Success",
      "data": []
    }
  }
}