Currently, lsst.log sends all output to stderr. This is surprising since most log messages are not errors: generally only actual errors (e.g. python exceptions, stack traces) should be sent to stderr.
lsst.log should send all output to stdout. This helps separate logs and errors when piping output; for example, in python:
I might also suggest that errors at warn, error, and fatal levels also get sent to stderr, so they're more easily identified, though that would result in them being duplicated when logging to a terminal. I'm not sure we want them to only go to stderr, as that pulls them out of context, but they can get drowned in all the other messages.