jina.logging.formatter module
class jina.logging.formatter.ColorFormatter(\args, **kwargs*)[source]
Bases: logging.Formatter
Format the log into colored logs based on the log-level.
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 = {LogVerbosity.DEBUG: {‘color’: ‘magenta’}, LogVerbosity.INFO: {}, LogVerbosity.SUCCESS: {‘color’: ‘green’}, LogVerbosity.WARNING: {‘color’: ‘yellow’}, LogVerbosity.ERROR: {‘color’: ‘red’}, LogVerbosity.CRITICAL: {‘attrs’: [‘bold’], ‘color’: ‘red’}}
log-level to color mapping
format(record)[source]
Format the LogRecord with corresponding colour.
Parameters
record – A LogRecord object
Return:
Formatted LogRecord with level-colour MAPPING to add corresponding colour.
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 LogRecord by removing all control chars and plain text, and restrict the max-length of msg to 512.
Parameters
record – A LogRecord object.
Return:
Formatted plain LogRecord.
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 log message as a JSON object.
Parameters
record (
LogRecord
) – A LogRecord object.Return:
LogRecord with JSON format.
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 log message as JSON object and add the current used memory.
Parameters
record (
LogRecord
) – A LogRecord object.Return:
Return JSON formatted log if msg of LogRecord is dict type else return empty.