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.