com.walmartlabs.lacinia.trace

Light-weight, asynchronous logging built around tap>.

Follows the same pattern as asserts: tracing may be compiled or not; if compiled, it may be enabled, or not. Finally, you must add a tap (typically, clojure.pprint/pprint) to receive the maps that trace may produce.

*compile-trace*

dynamic

If false (the default), calls to trace evaluate to nil.

*enable-trace*

dynamic

If false (the default is true) then compiled calls to trace are a no-op.

set-compile-trace!

(set-compile-trace! value)

set-enable-trace!

(set-enable-trace! value)

trace

macro

(trace & kvs)

Calls to trace generate a map that is passed to tap>.

The map includes keys: :in - a symbol of the namespace and function :line - the line number of the trace invocation (if available) :thread - the string name of the current thread

Additional keys and values may be supplied.

trace may expand to nil, if compilation is disabled.

Any invocation of trace evaluates to nil.