abstraction layer for logging and tracing
