Drupal does logging via watchdog() and a module hook. That makes it only useful post-full-bootstrap when we have hooks.
Symfony, or at least the kernel, has a logging object (with interface) that it passes to many objects optionally. If things happen that need to get logged, it calls $logger->info() (and similar), which, because it's an interfaced object, can do whatever it wants behind the scenes. Right now we are not leveraging that anywhere.
We really ought to merge these. :-)
Option 1: Write a new logger class that internally wraps watchdog(). It takes whatever was called against the object and turns it into a watchdog() call. We then pass that object to wherever Symfony has one, and all is right with the world.
Option 2: Write a new logger class that does what we want, and make watchdog() a trivial wrapper of it. If we want it extensible then we can likely use a listener, as those should be available earlier than hooks. We can then transition over from watchdog() to logger objects (which we could even still call a watchdog object if we wanted to, for old time's sake) as stuff is refactored, and stick the logging object into the DIC so that everything is cleanly injected.
I personally prefer option 2, because it gets us further along toward an all-injected world and keeps watchdog() function calls out of objects; it's a hard-dependency to avoid. It's the more forward-thinking approach. That requires figuring out the registration of additional listeners, but we need to do that anyway.