summaryrefslogtreecommitdiff
path: root/repoze/bfg/log.py
blob: b8762e6e2df196a57dc849fb10b4a4ef3589c01b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
import logging

def make_stream_logger(
    name, stream, levelname='DEBUG', fmt='%(asctime)s %(message)s'):
    """ Return an object which implements
    ``repoze.bfg.interfaces.IDebugLogger`` (ie. a Python PEP 282 logger
    instance) with the name ``name`` using the stream (or open
    filehandle) ``stream``, logging at ``levelname`` log level or
    above with format ``fmt``. """
    handler = logging.StreamHandler(stream)
    formatter = logging.Formatter(fmt)
    handler.setFormatter(formatter)
    logger = logging.Logger(name)
    logger.addHandler(handler)
    logger.setLevel(getattr(logging, levelname))
    return logger