Acknowledgements

emit is a point in a long history of development in diagnostic tooling. It takes inspiration from others that have come before it:

  • Serilog in C#. emit's templates are a concept borrowed from Serilog, and emit's API was shaped by many conversations with its original author.
  • log and slog. emit is where some of the more radical ideas for log's structured logging support ended up. A lot of discussion and development in log fed back into emit. log's own structured logging took inspiration from slog.
  • tracing. emit takes inspiration from tracing, particularly its #[instrument] macro, and its Value type is based on discussions with its original authors.
  • OpenTelemetry. emit's data model, particularly for traces and metrics, is heavily inspired by OpenTelemetry's, and is intentionally compatible with it.

emit also couldn't exist without some of the fundamental libraries it depends on: