JuliaCon 2020 (times are in UTC)

ContextTracking.jl - do you know where you are?

When using Julia in a production system, it is important to have adequate logging such that one can generate useful application analytics and track down problems and respective root causes. ContextTracking.jl is a package that helps track execution context and provides a context-sensitive logger. For ease of use, there are few macros for annotating functions and memoizing contextual data.


In general, the following facilities are available:
- Use @ctx macro to annotate functions that participates in context tracking
- Use @memo macro to memorize variables in the context
- Use context function to retrieve memorized data

ContextTracking.jl can be used in conjunction of a logging library such as LoggingFacilities.jl. Since context information is available during the entire execution stack, they can be logged at the same time and allow easier debugging in a production system.

This package is thread-safe and can be used with async tasks.