[Erp5-report] r44794 jm - /erp5/trunk/products/ERP5Type/dynamic/persistent_migration.py

nobody at svn.erp5.org nobody at svn.erp5.org
Wed Mar 30 13:44:50 CEST 2011


Author: jm
Date: Wed Mar 30 13:44:50 2011
New Revision: 44794

URL: http://svn.erp5.org?rev=44794&view=rev
Log:
persistent_migration: use logging instead zLOG

In particular, this prevents calling __str__/__repr__ on all old objects
even when logs are not output.

Modified:
    erp5/trunk/products/ERP5Type/dynamic/persistent_migration.py

Modified: erp5/trunk/products/ERP5Type/dynamic/persistent_migration.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5Type/dynamic/persistent_migration.py?rev=44794&r1=44793&r2=44794&view=diff
==============================================================================
--- erp5/trunk/products/ERP5Type/dynamic/persistent_migration.py [utf8] (original)
+++ erp5/trunk/products/ERP5Type/dynamic/persistent_migration.py [utf8] Wed Mar 30 13:44:50 2011
@@ -34,16 +34,18 @@
 # class may be copied in the pickle of the container, and we can't access it
 # from __setstate__.
 
-import re
+import logging, re
 from AccessControl import ClassSecurityInfo
 from Acquisition import aq_base
 from OFS.Folder import Folder as OFS_Folder
 from persistent import Persistent, wref
-from zLOG import LOG, PROBLEM, DEBUG, TRACE
 from ZODB.serialize import ObjectWriter, ObjectReader
 from Products.ERP5Type import Permissions
 from Products.ERP5Type.Base import Base, WorkflowMethod
 
+log = logging.getLogger('ERP5Type')
+log.trace = lambda *args, **kw: log.log(5, *args, **kw)
+
 isOldBTree = re.compile(r'BTrees\._(..)BTree\.(\1)BTree$').match
 
 class Ghost(object):
@@ -117,7 +119,7 @@ class PickleUpdater(ObjectReader, Object
       oid_set |= self.oid_set - migrated_oid_set
       self.oid_set = None
       if self.do_migrate:
-        LOG('PickleUpdater', DEBUG, 'migrate %r (%r)' % (obj, klass))
+        log.debug('PickleUpdater: migrate %r (%r)', obj, klass)
         self.setGhostState(obj, self.serialize(obj))
         obj._p_changed = 1
 
@@ -169,8 +171,7 @@ if 1:
     try:
       portal_type = value.get('portal_type') or klass.portal_type
     except AttributeError:
-      LOG('ERP5Type', PROBLEM,
-          "no portal type was found for %r (class %s)" % (self, klass))
+      log.warn("no portal type was found for %r (class %s)", self, klass)
       return Base__setstate__(self, value)
     if portal_type == 'Dummy Class Tool':
       return Base__setstate__(self, value)
@@ -181,7 +182,7 @@ if 1:
     assert self.__class__ is not newklass
     self.__class__ = newklass
     self.__setstate__(value)
-    LOG('Base.__setstate__', TRACE, "migrate %r" % self)
+    log.trace("Base.__setstate__: migrate %r", self)
 
   def migrateToPortalTypeClass(self, recursive=False):
     """Migrate persistently all referenced classes



More information about the Erp5-report mailing list