GoogleLogFormatter#

class scikitplot.logging.GoogleLogFormatter(datefmt='%Y-%m-%d %H:%M:%S', default_time_format='%Y-%m-%d %H:%M:%S', default_msec_format='%s,%03d', backend=None, use_datetime=True, use_utc=True)[source]#

A custom logging formatter inherited from Formatter.

That formats log messages in a Google-style format:

>>> # Google-style format
>>> `YYYY-MM-DD HH:MM:SS.mmmmmm logger_name logging_level message`
Parameters:
datefmtstr, optional

Date format for asctime. Default is ‘%Y-%m-%d %H:%M:%S’.

default_time_formatstr, optional

Default time format. Default is ‘%Y-%m-%d %H:%M:%S’.

default_msec_formatstr, optional

Default millisecond format. Default is ‘%s,%03d’.

backend{‘json’, ‘pprint’, ‘text’}, optional

Backend to use for formatting the log output. Default is None.

use_datetimebool, optional

Whether to include microseconds in the timestamp using datetime. Default is True.

Parameters:
  • datefmt (str)

  • default_time_format (str)

  • default_msec_format (str)

  • backend (str | None)

  • use_datetime (bool | None)

  • use_utc (bool)

See also

logging.Formatter

logging Formatter.

Notes

This formatter outputs logs in a structured format with the following fields if any:

  • asctime: The timestamp of the log entry.

  • levelname: The log level (e.g., DEBUG, INFO, WARNING).

  • name: The name of the logger.

  • thread: The thread ID.

  • filename: The name of the file generating the log entry.

  • lineno: The line number where the log entry was generated.

  • message: The log message.

default_msec_format = '%s,%03d'#
default_time_format = '%Y-%m-%d %H:%M:%S'#
format(record)[source]#

Format the log record into a JSON string or a pretty-printed dictionary.

Parameters:
recordlogging.LogRecord

The log record containing log information (message, level, etc.).

Returns:
str

The formatted log message (either in literal str, JSON or pretty-print format).

Parameters:

record (LogRecord)

Return type:

str

formatException(ei)[source]#

Format and return the specified exception information as a string.

This default implementation just uses traceback.print_exception()

formatMessage(record)[source]#
formatStack(stack_info)[source]#

This method is provided as an extension point for specialized formatting of stack information.

The input data is a string as returned from a call to traceback.print_stack, but with the last trailing newline removed.

The base implementation just returns the value passed in.

formatTime(record, datefmt=None)[source]#

Format time.

https://docs.python.org/3/library/logging.html#logging.Formatter.formatTime

Parameters:
Return type:

str

usesTime()[source]#

Check if the format uses the creation time of the record.