[Checkins] SVN: zc.zodbdgc/trunk/src/zc/zodbdgc/ Fixed handling of logging levels.
Jim Fulton
jim at zope.com
Mon Jun 15 13:10:31 EDT 2009
Log message for revision 101021:
Fixed handling of logging levels.
Changed:
U zc.zodbdgc/trunk/src/zc/zodbdgc/README.test
U zc.zodbdgc/trunk/src/zc/zodbdgc/__init__.py
-=-
Modified: zc.zodbdgc/trunk/src/zc/zodbdgc/README.test
===================================================================
--- zc.zodbdgc/trunk/src/zc/zodbdgc/README.test 2009-06-15 16:13:02 UTC (rev 101020)
+++ zc.zodbdgc/trunk/src/zc/zodbdgc/README.test 2009-06-15 17:10:31 UTC (rev 101021)
@@ -327,7 +327,45 @@
>>> _ = [d.close() for d in db.databases.values()]
+Check getting args from sys.argv, which sets a default level of
+logging:
+ >>> old_argv = sys.argv[:]
+ >>> old_basicConfig = logging.basicConfig
+ >>> def faux_basicConfig(*args, **kw):
+ ... print 'basicConfig', args, kw
+ >>> logging.basicConfig = faux_basicConfig
+
+ >>> sys.argv[:] = ['-d2', 'config']
+ >>> sorted(zc.zodbdgc.gc_command().iterator())
+ basicConfig () {'level': 30}
+ Removed 0 objects from db1
+ Removed 0 objects from db3
+ Removed 0 objects from db2
+ []
+
+and check -l option handling:
+
+ >>> sys.argv[:] = ['-d2', '-l10', 'config']
+ >>> sorted(zc.zodbdgc.gc_command().iterator())
+ basicConfig () {'level': 10}
+ Removed 0 objects from db1
+ Removed 0 objects from db3
+ Removed 0 objects from db2
+ []
+
+ >>> sys.argv[:] = ['-d2', '-lINFO', 'config']
+ >>> sorted(zc.zodbdgc.gc_command().iterator())
+ basicConfig () {'level': 20}
+ Removed 0 objects from db1
+ Removed 0 objects from db3
+ Removed 0 objects from db2
+ []
+
+
+ >>> logging.basicConfig = old_basicConfig
+ >>> sys.argv[:] = old_argv
+
>>> try: zc.zodbdgc.check_command([])
... except SystemExit: pass
Usage: test [options] config
Modified: zc.zodbdgc/trunk/src/zc/zodbdgc/__init__.py
===================================================================
--- zc.zodbdgc/trunk/src/zc/zodbdgc/__init__.py 2009-06-15 16:13:02 UTC (rev 101020)
+++ zc.zodbdgc/trunk/src/zc/zodbdgc/__init__.py 2009-06-15 17:10:31 UTC (rev 101021)
@@ -270,7 +270,11 @@
level = options.level
if level:
- logging.basicConfig(level=getattr(logging, level))
+ try:
+ level = int(level)
+ except ValueError:
+ level = getattr(logging, level)
+ logging.basicConfig(level=level)
return gc(args[0], options.days, *args[1:])
More information about the Checkins
mailing list