[Repoze-checkins] r942 - repoze.who/trunk/repoze/who
Tres Seaver
tseaver at palladion.com
Sat May 3 19:11:27 EDT 2008
Author: Tres Seaver <tseaver at palladion.com>
Date: Sat May 3 19:11:27 2008
New Revision: 942
Log:
Enable logging via config.
Modified:
repoze.who/trunk/repoze/who/config.py
Modified: repoze.who/trunk/repoze/who/config.py
==============================================================================
--- repoze.who/trunk/repoze/who/config.py (original)
+++ repoze.who/trunk/repoze/who/config.py Sat May 3 19:11:27 2008
@@ -2,7 +2,9 @@
"""
from ConfigParser import ConfigParser
from StringIO import StringIO
+import logging
from pkg_resources import EntryPoint
+import sys
from repoze.who.interfaces import IAuthenticator
from repoze.who.interfaces import IChallengeDecider
@@ -121,9 +123,29 @@
)
-def make_middleware_with_config(app, global_conf, config_file):
+_LEVELS = {'debug': logging.DEBUG,
+ 'info': logging.INFO,
+ 'warning': logging.WARNING,
+ 'error': logging.ERROR,
+ }
+
+def make_middleware_with_config(app, global_conf, config_file,
+ log_file=None, log_level=None):
parser = WhoConfig(global_conf['here'])
parser.parse(open(config_file))
+ log_stream = None
+
+ if log_file is not None:
+ if log_file == 'stdout':
+ log_stream = sys.stdout
+ else:
+ log_stream = open(log_file, 'wb')
+
+ if log_level is None:
+ log_level = logging.INFO
+ else:
+ log_level = _LEVELS[log_level.lower()]
+
return PluggableAuthenticationMiddleware(
app,
parser.identifiers,
@@ -132,4 +154,5 @@
parser.mdproviders,
parser.request_classifier,
parser.challenge_decider,
+ log_stream,
)
More information about the Repoze-checkins
mailing list