Opened 7 years ago

Closed 4 years ago

#2629 enhancement closed wontfix (wontfix)

passing the "why" argument to log.err is hard and crappy

Reported by: radix Owned by:
Priority: normal Milestone:
Component: core Keywords:
Cc: Branch:
Author: Launchpad Bug:

Description

try:
    1/0
except:
    log.err(None, "foo")

or log.err(_why="foo")

trying to pass why= directly causes the following error:

    msg(failure=_stuff, why=_why, isError=1, **kw)
TypeError: msg() got multiple values for keyword argument 'why'

Which is dumb. Either _why= should be renamed to why= or the special passing of why=_why should only happen if _why is not None.

Fixing this ticket should also entail fixing #2567

Change History (4)

comment:1 Changed 7 years ago by radix

  • Owner changed from glyph to radix
  • Status changed from new to assigned

comment:2 Changed 5 years ago by exarkun

I like log.err(None, "foo") a lot, and I think that was the intended use when the feature was introduced. The parameter isn't named why because log.err accepts **kw and passes them on to log.msg. The leading underscore is an attempt to avoid collisions (perhaps a poor one, but there you go).

I think this should be closed as wontfix or turned into a documentation ticket for explaining this feature of log.err better in the logging howto.

What do you think, radix?

comment:3 Changed 4 years ago by exarkun

  • Resolution set to wontfix
  • Status changed from assigned to closed

< radix> ok

comment:4 Changed 4 years ago by <automation>

  • Owner radix deleted
Note: See TracTickets for help on using tickets.