Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python > #4162

Re: unpickling derived LogRecord in python 2.7 from python2.6

From Vinay Sajip <vinay_sajip@yahoo.co.uk>
Newsgroups comp.lang.python
Subject Re: unpickling derived LogRecord in python 2.7 from python2.6
Date 2011-04-27 13:39 -0700
Organization http://groups.google.com
Message-ID <bb7009bd-e93d-470e-9077-9fa12046dd7f@q20g2000vbx.googlegroups.com> (permalink)
References <dddb61de-6964-41c4-9f14-d9d1d5fdb2b7@cu4g2000vbb.googlegroups.com> <ip9gtg$s9p$1@solani.org>

Show all headers | View raw


On Apr 27, 5:41 pm, Peter Otten <__pete...@web.de> wrote:

> The Problem is that as of Python 2.7logging.LogRecord has become a newstyle
> class which is pickled/unpickled differently. I don't know if there is an
> official way to do the conversion, but here's what I've hacked up.
> The script can read pickles written with 2.6 in 2.7, but not the other way
> round.
> [code snipped]

I don't know about "official", but another way of doing this is to
pickle just the LogRecord's __dict__ and send that over the wire. The
logging package contains a function makeLogRecord(d) where d is a
dict.

This is the approach used by the examples in the library documentation
which pickle events for sending across a network:

http://docs.python.org/howto/logging-cookbook.html#sending-and-receiving-logging-events-across-a-network

The built-in SocketHandler pickles the LogRecord's __dict__ rather
than the LogRecord itself, precisely because of the improved
interoperability over pickling the instance directly.

Regards,

Vinay Sajip

Back to comp.lang.python | Previous | NextPrevious in thread | Next in thread | Find similar


Thread

unpickling derived LogRecord in python 2.7 from python2.6 "ivdneut@gmail.com" <ivdneut@gmail.com> - 2011-04-27 06:56 -0700
  Re: unpickling derived LogRecord in python 2.7 from python2.6 Peter Otten <__peter__@web.de> - 2011-04-27 18:41 +0200
    Re: unpickling derived LogRecord in python 2.7 from python2.6 Vinay Sajip <vinay_sajip@yahoo.co.uk> - 2011-04-27 13:39 -0700
      Re: unpickling derived LogRecord in python 2.7 from python2.6 Peter Otten <__peter__@web.de> - 2011-04-28 09:22 +0200
        Re: unpickling derived LogRecord in python 2.7 from python2.6 "ivdneut@gmail.com" <ivdneut@gmail.com> - 2011-04-29 01:36 -0700

csiph-web