[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