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 wanted in
http://twistedmatrix.com/documents/current/api/twisted.python.log.ILogObserver.html
:
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 this event.
-
isError
: A bool
indicating
whether this event represents an error.
-
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',
bar='things')
I suggest that this be added to the documentation string of the
msg() method and
http://twistedmatrix.com/documents/current/core/howto/logging.html.
--
Don Dwiggins
Advanced Publishing Technology