[Checkins] SVN: Sandbox/J1m/resumelb/src/zc/resumelb/zk. Added support for basic lb logging config.
Jim Fulton
jim at zope.com
Mon Mar 5 13:40:51 UTC 2012
Log message for revision 124511:
Added support for basic lb logging config.
Changed:
U Sandbox/J1m/resumelb/src/zc/resumelb/zk.py
U Sandbox/J1m/resumelb/src/zc/resumelb/zk.test
-=-
Modified: Sandbox/J1m/resumelb/src/zc/resumelb/zk.py
===================================================================
--- Sandbox/J1m/resumelb/src/zc/resumelb/zk.py 2012-03-05 13:20:38 UTC (rev 124510)
+++ Sandbox/J1m/resumelb/src/zc/resumelb/zk.py 2012-03-05 13:40:49 UTC (rev 124511)
@@ -132,11 +132,16 @@
# XXX default to basic config?
if options.logger_configuration:
- import ZConfig
- with open(options.logger_configuration) as f:
- ZConfig.configureLoggers(f.read())
+ logger_config = options.logger_configuration
+ if re.match(r'\d+$', logger_config):
+ logging.basicConfig(level=int(logger_config))
+ elif logger_config in ('CRITICAL', 'ERROR', 'WARNING', 'INFO', 'DEBUG'):
+ logging.basicConfig(level=getattr(logging, logger_config))
+ else:
+ import ZConfig
+ with open(logger_config) as f:
+ ZConfig.configureLoggers(f.read())
-
zk = zc.zk.ZooKeeper(zookeeper)
addrs = zk.children(path+'/workers/providers')
rcmod, rcexpr = options.request_classifier.split(':')
Modified: Sandbox/J1m/resumelb/src/zc/resumelb/zk.test
===================================================================
--- Sandbox/J1m/resumelb/src/zc/resumelb/zk.test 2012-03-05 13:20:38 UTC (rev 124510)
+++ Sandbox/J1m/resumelb/src/zc/resumelb/zk.test 2012-03-05 13:40:49 UTC (rev 124511)
@@ -337,11 +337,12 @@
Finally, let's test that:
-- The server runs in non-test mode and that
+- The server runs in non-test mode, that
-- We can pass an object as the access log parameter.
- (Used by simulation script.)
+- we can pass an object as the access log parameter (used by
+ simulation script.), and that we can pass basoc logging information:
+
>>> worker_greenlet = gevent.spawn(zc.resumelb.zk.worker,
... app, None,
... zookeeper='zookeeper.example.com:2181', path='/test/lb/workers',
@@ -350,10 +351,14 @@
>>> import StringIO
>>> accesslog = StringIO.StringIO()
- >>> lb_greenlet = gevent.spawn(zc.resumelb.zk.lbmain, [
- ... '-a127.0.0.1:0',
- ... '-l', accesslog, 'zookeeper.example.com:2181', '/test/lb'])
- >>> gevent.sleep(.1)
+ >>> with mock.patch('ZConfig.configureLoggers') as configureLoggers:
+ ... with mock.patch('logging.basicConfig') as basicConfig:
+ ... lb_greenlet = gevent.spawn(zc.resumelb.zk.lbmain, [
+ ... '-a127.0.0.1:0', '--logger-configuration', 'INFO',
+ ... '-l', accesslog, 'zookeeper.example.com:2181', '/test/lb'])
+ ... gevent.sleep(.1)
+ ... if configureLoggers.called: print 'configureLoggers'
+ ... basicConfig.assert_called_with(level=20)
>>> [addr] = map(zc.parse_addr.parse_addr,
... zk.get_children('/test/lb/providers'))
@@ -368,3 +373,20 @@
>>> print accesslog.getvalue(),
127.0.0.1 - - [2012-01-31 07:46:31] "GET /hi.html HTTP/1.0" 200 226 0.001165
+
+ >>> server.stop()
+ >>> lb.stop()
+
+Try a numeric log level:
+
+ >>> with mock.patch('ZConfig.configureLoggers') as configureLoggers:
+ ... with mock.patch('logging.basicConfig') as basicConfig:
+ ... lb_greenlet = gevent.spawn(zc.resumelb.zk.lbmain, [
+ ... '-a127.0.0.1:0', '--logger-configuration', '42',
+ ... '-l', accesslog, 'zookeeper.example.com:2181', '/test/lb'])
+ ... gevent.sleep(.1)
+ ... if configureLoggers.called: print 'configureLoggers'
+ ... basicConfig.assert_called_with(level=42)
+
+ >>> server.stop()
+ >>> lb.stop()
More information about the checkins
mailing list