Moved the log implementation to the core.
Backends can optionally participate in log generation.