Package pyplusplus :: Package _logging_ :: Module multi_line_formatter :: Class multi_line_formatter_t

# ClassType multi_line_formatter_t

source code

    logging.Formatter --+
                        |
                       multi_line_formatter_t

Custom log formatter to split long message into several lines.

This formatter is used for the default stream handler that outputs its messages to stdout.

Instance Methods

__init__(self, fmt=None, datefmt=None, width=None) Constructor. | source code

format(self, record) This method overwrites the original one. | source code

Inherited from `logging.Formatter`: `converter`, `formatException`, `formatTime`

Static Methods

formatMessage(msgline, width=70) Format a long single line message so that it is easier to read. | source code

Method Details

### __init__(self, fmt=None, datefmt=None, width=None)
(Constructor)

source code

Constructor.

See the Python standard library reference for a documentation of fmt and datefmt. width is the maximum width of the generated text blocks.

Overrides: logging.Formatter.__init__

### format(self, record)

source code

    This method overwrites the original one.

    The first thing that is done in the original format() method
    is the creation of the record.message attribute:

      record.message = record.getMessage()

    Now this method temporarily replaces the getMessage() method of
    the record by a version that returns a pregenerated message that
    spans several lines. Then the original format() method is called
    which will invoke the 'fake' method.

Overrides: logging.Formatter.format

### formatMessage(msgline, width=70)
Static Method

source code

Format a long single line message so that it is easier to read.

msgline is a string containing a single message. It can either be a plain message string which is reformatted using the textwrap module or it can be of the form <decl>;<msg> where <decl> is the declaration string and <msg> an arbitrary message. Lines of this form will be separated so that the declaration and the message appear in individual text blocks, where every line of message will start with '>' character.

width is the maximum width of any text blocks (without indendation).