Created
November 12, 2009 22:37
-
-
Save westurner/233377 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# HG changeset patch | |
# User Wes Turner <[email protected]> | |
# Date 1258065100 21600 | |
# Node ID 706e866c5e2df95c80f4e0bf4d182604140fade2 | |
# Parent 2fd12cda91b470058b197781348541b856dee6ec | |
[mq]: accept_log_configuration | |
diff --git a/repoze/what/plugins/config.py b/repoze/what/plugins/config.py | |
--- a/repoze/what/plugins/config.py | |
+++ b/repoze/what/plugins/config.py | |
@@ -7,7 +7,8 @@ | |
from pkg_resources import EntryPoint | |
from repoze.who.config import WhoConfig | |
from repoze.what.middleware import setup_auth | |
- | |
+import sys | |
+import logging | |
class WhatConfig: | |
def __init__(self, here): | |
@@ -49,9 +50,15 @@ | |
self._parsePluginSequence(self.permission_adapters, | |
what['permission_adapters']) | |
+_LEVELS = {'debug': logging.DEBUG, | |
+ 'info': logging.INFO, | |
+ 'warning': logging.WARNING, | |
+ 'error': logging.ERROR, | |
+ } | |
def make_middleware_with_config(app, global_conf, config_file, | |
- who_config_file = ''): | |
+ who_config_file = '', | |
+ log_file=None, log_level=None): | |
if not who_config_file: | |
who_config_file = config_file | |
who_parser = WhoConfig(global_conf['here']) | |
@@ -59,6 +66,19 @@ | |
what_parser = WhatConfig(global_conf['here']) | |
what_parser.parse(open(config_file)) | |
+ log_stream = None | |
+ | |
+ if log_file is not None: | |
+ if log_file.lower() == '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 setup_auth(app, | |
group_adapters=what_parser.group_adapters, | |
permission_adapters=what_parser.permission_adapters, | |
@@ -67,6 +87,9 @@ | |
challengers=who_parser.challengers, | |
mdproviders=who_parser.mdproviders, | |
classifier=who_parser.request_classifier, | |
- challenge_decider=who_parser.challenge_decider | |
+ challenge_decider=who_parser.challenge_decider, | |
+ log_stream = log_stream, | |
+ log_level = log_level, | |
+ remote_user_key = who_parser.remote_user_key, | |
) | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment