[Twisted-Python] Log output formatting (was Re: logging question)
ddwiggins at advpubtech.com
Wed Nov 16 15:27:44 EST 2011
On 11/15/2011 8:57 AM, Christopher Armstrong wrote:
> If you pass a 'system' kwarg to log.msg then it will go in that field.
> log.msg("hi", system="stuff") results in <date> [stuff] hi
This triggered me to look further into what LogPublisher.msg does, since
I've long wanted to customize the format of the output. I found what I
In msg(), the message gets added to the kwargs dictionary (along with a
timestamp called 'time'), and that dict is passed to LogObserver.emit,
which uses textFromEventDict() to create what's actually output. This
dictionary has the following keys recognized by textFromEventDict:
* |message|: A |tuple| of |str| containing messages to be logged.
* |system|: A |str| which indicates the "system" which is generating
* |isError|: A |bool| indicating whether this event represents an
* |failure|: A |failure.Failure|
instance, required if the event is an error.
* |why|: Used as header of the traceback in case of errors.
* |format|: A string format used in place of |message| to customize
the event. The intent is for the observer to format a message by
doing something like |format % eventDict|.
So, for example, you could do log.msg(format='....', foo='stuff',
I suggest that this be added to the documentation string of the msg()
Advanced Publishing Technology
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Twisted-Python