[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