# jina.logging.formatter¶

class jina.logging.formatter.ColorFormatter(fmt=None, datefmt=None, style='%')[source]

Bases: logging.Formatter

Initialize the formatter with specified format strings.

Initialize the formatter either with the specified format string, or a default as described above. Allow for specialized date formatting with the optional datefmt argument. If datefmt is omitted, you get an ISO8601-like (or RFC 3339-like) format.

Use a style parameter of ‘%’, ‘{‘ or ‘$’ to specify that you want to use one of %-formatting, str.format() ({}) formatting or string.Template formatting in your format string. Changed in version 3.2: Added the style parameter. MAPPING = {'CRITICAL': {'color': 'white', 'on_color': 'on_red'}, 'DEBUG': {'color': 'white', 'on_color': None}, 'ERROR': {'color': 'red', 'on_color': None}, 'INFO': {'color': 'white', 'on_color': None}, 'SUCCESS': {'color': 'green', 'on_color': None}, 'WARNING': {'color': 'yellow', 'on_color': 'on_grey'}} log-level to color mapping format(record)[source] Format the specified record as text. The record’s attribute dictionary is used as the operand to a string formatting operation which yields the returned string. Before formatting the dictionary, a couple of preparatory steps are carried out. The message attribute of the record is computed using LogRecord.getMessage(). If the formatting string uses the time (as determined by a call to usesTime(), formatTime() is called to format the event time. If there is exception information, it is formatted using formatException() and appended to the message. class jina.logging.formatter.PlainFormatter(fmt=None, datefmt=None, style='%')[source] Bases: logging.Formatter Remove all control chars from the log and format it as plain text Also restrict the max-length of msg to 512 Initialize the formatter with specified format strings. Initialize the formatter either with the specified format string, or a default as described above. Allow for specialized date formatting with the optional datefmt argument. If datefmt is omitted, you get an ISO8601-like (or RFC 3339-like) format. Use a style parameter of ‘%’, ‘{‘ or ‘$’ to specify that you want to use one of %-formatting, str.format() ({}) formatting or string.Template formatting in your format string.

Changed in version 3.2: Added the style parameter.

format(record)[source]

Format the specified record as text.

The record’s attribute dictionary is used as the operand to a string formatting operation which yields the returned string. Before formatting the dictionary, a couple of preparatory steps are carried out. The message attribute of the record is computed using LogRecord.getMessage(). If the formatting string uses the time (as determined by a call to usesTime(), formatTime() is called to format the event time. If there is exception information, it is formatted using formatException() and appended to the message.

class jina.logging.formatter.JsonFormatter(fmt=None, datefmt=None, style='%')[source]

Bases: logging.Formatter

Format the log message as a JSON object so that it can be later used/parsed in browser with javascript.

Initialize the formatter with specified format strings.

Initialize the formatter either with the specified format string, or a default as described above. Allow for specialized date formatting with the optional datefmt argument. If datefmt is omitted, you get an ISO8601-like (or RFC 3339-like) format.

Use a style parameter of ‘%’, ‘{‘ or ‘$’ to specify that you want to use one of %-formatting, str.format() ({}) formatting or string.Template formatting in your format string. Changed in version 3.2: Added the style parameter. KEYS = {'created', 'filename', 'funcName', 'levelname', 'lineno', 'log_id', 'module', 'msg', 'name', 'pathname', 'process', 'processName', 'thread', 'threadName'} keys to extract from the log format(record)[source] Format the specified record as text. The record’s attribute dictionary is used as the operand to a string formatting operation which yields the returned string. Before formatting the dictionary, a couple of preparatory steps are carried out. The message attribute of the record is computed using LogRecord.getMessage(). If the formatting string uses the time (as determined by a call to usesTime(), formatTime() is called to format the event time. If there is exception information, it is formatted using formatException() and appended to the message. class jina.logging.formatter.ProfileFormatter(fmt=None, datefmt=None, style='%')[source] Bases: logging.Formatter Format the log message as JSON object and add the current used memory into it Initialize the formatter with specified format strings. Initialize the formatter either with the specified format string, or a default as described above. Allow for specialized date formatting with the optional datefmt argument. If datefmt is omitted, you get an ISO8601-like (or RFC 3339-like) format. Use a style parameter of ‘%’, ‘{‘ or ‘$’ to specify that you want to use one of %-formatting, str.format() ({}) formatting or string.Template formatting in your format string.

Changed in version 3.2: Added the style parameter.

format(record)[source]

Format the specified record as text.

The record’s attribute dictionary is used as the operand to a string formatting operation which yields the returned string. Before formatting the dictionary, a couple of preparatory steps are carried out. The message attribute of the record is computed using LogRecord.getMessage(). If the formatting string uses the time (as determined by a call to usesTime(), formatTime() is called to format the event time. If there is exception information, it is formatted using formatException() and appended to the message.