Hi,

Vinay Sajip wrote:
> Care to stop waving your arms about over general principles like
> "shared state", and get down to specifics about logging?
I was pointing out that a similar problem exists elsewhere.  And you
will never bring me to a point where I say something along the lines of
"shared state is okay because we cannot avoid it".

> It *is* an attribute of the LogRecord, and always has been - not sure where
> you get your "facts" ;-).
s/attribute/property/

> I don't know, without knowing your problem in more detail, if you could have
> avoided copying and changing code from LogRecord and Formatter. Obviously
> I've tried to provide enough hooks so that people can subclass and override
> methods for specific requirements, such as adding to a Trac ticket. If you
> describe the problem in more detail, I may be able to indicate a better
> solution. If it turns out that I need to provide more hooks where people can
> override functionality, I'm open to doing that.
It's in the standard library, modifications are not that useful.  If I
could pull an updated version from an external URL that adds these
hooks, fine.  But until then I can't use any of the modifications done
in there because it has to be compatible Python 2.4.

> So your complaint is really just a philosophical diatribe against shared
> state?
It's not philosophical, it's practical.

> Then you're really saying something roughly like "It's Not Invented Here, so
> I don't like it. The only way it could be better is if I had thought of it.
> Period."
I really don't know how to reply to that...

> *cough* *cough*. I've already read that post, as I referred to it earlier in
> this thread. Since sys.modules is shared state at a much more fundamental
> level than logging's logger registry, why not focus your energies on getting
> that changed first? If you're successful at pulling it off, it'll no doubt
> lead to a whole slew of changes in the Python ecosystem, of which logging is
> just a tiny part.
I think you're missing something:  I do not intent do change it.  I
complain about both logging and sys.modules because in my opinion those
are broken by design.  However there is also no way we could possibly
change those, so I don't even try to think about solutions.  Please
acknowledge that.

> There you go. Is Jinja2 "broken by design", then?
For many people it certainly is.  Also there are design decisions I made
in Jinja2 early on that are certainly broken, such as the scoping and I
try to fix those by adding deprecation warning for edge cases.  However,
you cannot do that in the standard library, different rules apply there.

> Aso, I prefer Python to Ruby. Should I say "Ruby? Broken, by design"?
I will just ignore that.

> What, sarcasm now? From "broken by design" to "paragon of virtue, exemplar
> to the world"? Please. I've been around the block a few times, no longer the
> new kid, and my skin is reasonably thick. I'm not crying. But keep it
> constructive (i.e. with improvement as a goal), that's all I'm asking.
That was not sarcastic.

> My point was not about whether Graham's plan was or was not the best. It's
> that he wants to get *something* reasonable out there, knows the issues and
> is frustrated with the constant back-and-forth between conflicting opinions.
> We could be waiting forever for a resolution, what good is that to anybody?
What good is a broken specification.  It's not about changing the
specification, it's about fixing it.  And there is a lot of things that
have to be thought through.  I love Graham's efforts in changing it, but
just deciding on one the proposals without thinking about the
consequences it has is not very wise.


Regards,
Armin
_______________________________________________
stdlib-sig mailing list
stdlib-sig@python.org
http://mail.python.org/mailman/listinfo/stdlib-sig

Reply via email to