Formatters have the following attributes and methods. They are
responsible for converting a LogRecord to (usually) a string
which can be interpreted by either a human or an external system. The
Formatter allows a formatting string to be specified. If none is
supplied, the default value of
'%(message)s' is used.
A Formatter can be initialized with a format string which makes use of knowledge of the LogRecord attributes - such as the default value mentioned above making use of the fact that the user's message and arguments are pre-formatted into a LogRecord's message attribute. This format string contains standard python %-style mapping keys. See section 2.3.6, ``String Formatting Operations,'' for more information on string formatting.
Currently, the useful mapping keys in a LogRecord are:
||Name of the logger (logging channel).|
||Numeric logging level for the message (DEBUG, INFO, WARNING, ERROR, CRITICAL).|
||Text logging level for the message
||Full pathname of the source file where the logging call was issued (if available).|
||Filename portion of pathname.|
||Module (name portion of filename).|
||Source line number where the logging call was issued (if available).|
||Time when the LogRecord was created (as returned by time.time()).|
||Human-readable time when the LogRecord was created. By default this is of the form ``2003-07-08 16:49:45,896'' (the numbers after the comma are millisecond portion of the time).|
||Millisecond portion of the time when the LogRecord was created.|
||Thread ID (if available).|
||Process ID (if available).|
||The logged message, computed as |
'%(message)s'is used. If no datefmt is specified, the ISO8601 date format is used.
'(asctime)', formatTime() is called to format the event time. If there is exception information, it is formatted using formatException() and appended to the message.
See About this document... for information on suggesting changes.