summaryrefslogtreecommitdiff
path: root/repoze/bfg/log.py
diff options
context:
space:
mode:
Diffstat (limited to 'repoze/bfg/log.py')
-rw-r--r--repoze/bfg/log.py16
1 files changed, 16 insertions, 0 deletions
diff --git a/repoze/bfg/log.py b/repoze/bfg/log.py
new file mode 100644
index 000000000..ac2145a47
--- /dev/null
+++ b/repoze/bfg/log.py
@@ -0,0 +1,16 @@
+import logging
+
+def make_stream_logger(name, stream, levelname='DEBUG',
+ fmt='%(asctime)s %(message)s'):
+ """ Return an object which implements
+ ``repoze.bfg.interfaces.ILogger`` (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