Developer guide

Deep dive into ArgusLogs.core

Developer guide for ArgusLogs—the production debugging and observability platform for .NET applications.

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 ArgusLogs.core

Sub-configurations

1. DatabaseTrackingOptions (Database)

Configured via options.WithDatabase(db => ...):

  • LogResultRows (bool, default false) — When enabled, prints returning raw database rows. Turn off in production to prevent data leaks.
  • MaxResultRows (int, default 100) — Cap on records logged from query result sets to prevent memory exhaustion.
  • FilterInternalQueries (bool, default true) — Ignores framework internal diagnostics (EF Core migrations checks, DB health-checks).
  • LogSystemDatabaseQueries (bool, default false) — Controls whether queries against system schemas are included.

2. ArgusLogsNetworkTrackingOptions (Network)

Configured via options.WithNetworkTracking(net => ...).

A. Request options

  • Enabledbool, default true — Activates incoming request observation.
  • LogTsbool, default true — Appends timestamps.
  • LogUrl / LogHost / LogMethod / LogPathbool, default true — HTTP method, full URL, host, and relative routes.
  • LogTraceIdbool, default true — Appends the correlation identifier.
  • LogUserIdbool, default true — Appends authenticated user identifiers.
  • LogDeviceTypebool, default true — Mobile vs desktop categorizations.
  • LogHeadersbool, default true — Includes HTTP headers.
  • LogCookiesbool, default false — Browser cookies.
  • LogQueryStringbool, default true — Query string arguments.
  • LogFormDatabool, default false — Submitted HTML forms.
  • LogBodybool, default false — Request body capturing (stream buffering).
  • FormatLogsAsTreebool, default false — Nested tree formatting in printouts.
  • TraceIdSelectorFunc<HttpContext, string> — Custom trace IDs (e.g. X-Correlation-Id).
  • DeviceTypeSelectorFunc<HttpContext, string?> — Maps User-Agent to client types.

B. Response options

  • Enabledbool, default true — Outbound response monitoring.
  • LogStatusCodebool, default true — HTTP status codes (200, 500, …).
  • LogHeadersbool, default false — Response headers.
  • LogBodybool, default false — Response payload via buffered write stream.

C. User options

  • Enabledbool, default true — User correlation.
  • LogUserIdbool, default true — Current user account identifiers.
  • LogClaimsPrincipalbool, default false — Entire raw claims array.
  • LogRolesbool, default false — Security roles for the user.
  • UserIdSelectorFunc<HttpContext, string?> — Custom extraction (JWT claim, session cookie, …).

D. Connection options

  • Enabledbool, default true — Network layer context tracing.
  • LogIpAddressbool, default true — Client IP address.
  • LogClientCertificatebool, default false — HTTPS client certificate info when available.