Applications that use Proton sometimes want Proton to produce logging.
- Proton should provide a default logging implementation.
- It should be easy for Proton client code to provide custom logging implementation, e.g. one that uses the same third party logging framework as their application code.
- Proton should not have a compile-time dependency on a third party logging framework
- Proton's log output is considered to be part of its public interface. Therefore, in the spirit of Proton's cross-language consistency goals, this output should be consistent between proton-c and proton-j.
- The goals that general-purpose logging frameworks try to meet - performance, ease of use etc - also apply.