About this project

do-auditlog is a plugin for the samber/do v2 dependency injection container. It hooks into lifecycle callbacks to record every service registration, invocation, shutdown, and health check with timestamps. It infers forward and reverse dependency graphs using an invocation stack, without accessing do's internal DAG. The plugin provides a self-contained HTML report with interactive tabs (services, dependency graph, timeline, events), plus exports to JSON, NDJSON, CSV, TSV, Mermaid, PlantUML, DOT, D2, ASCII tree, and table formats. It supports filtered reports, real-time event streaming via an OnEvent callback, a live SSE dashboard, report diffing, and loading/migrating reports. The project includes a CLI tool for inspecting, converting, diffing, and validating reports. It requires Go 1.26+ and the GOEXPERIMENT=jsonv2 build flag. The plugin is in beta with a stability promise documented in STABILITY.md.