morphfits.utils.logs#
Logging setup and utility functions.
Attributes#
Default maximum bytes to be stored in each log file. |
|
Default number of log files before rotation. |
|
Default logging date format, in ISO-8601 compliant format, e.g. |
|
Colour codes for terminal. |
Classes#
Logging formatter which uses GMT (UTC). |
|
Logfile formatter which uses UTC. |
|
Stream log formatter which uses UTC. |
Functions#
|
Resolve a log record's module name to a more legible name, if it wasn't |
|
Create or update a logger object with a rotating file and stream handler. |
Module Contents#
- morphfits.utils.logs.LOGGER_MAX_BYTES = 1000000#
Default maximum bytes to be stored in each log file.
- morphfits.utils.logs.LOGGER_BACKUP_COUNT = 100#
Default number of log files before rotation.
- morphfits.utils.logs.LOGGING_DATE_FORMAT = '%Y-%m-%dT%H:%M:%S'#
Default logging date format, in ISO-8601 compliant format, e.g. 2024-05-01T12:43:21.
- morphfits.utils.logs.LOGGING_COLOUR_ESCAPES#
Colour codes for terminal.
- morphfits.utils.logs.resolve_record_name(name: str) str #
Resolve a log record’s module name to a more legible name, if it wasn’t already.
- Parameters:
name (str) – Record module name, e.g. tqdm.tqdm.
- Returns:
Legible record name.
- Return type:
str
- class morphfits.utils.logs.UTCFormatter(datefmt: str = LOGGING_DATE_FORMAT)#
Bases:
logging.Formatter
Logging formatter which uses GMT (UTC).
- Parameters:
logging.Formatter (class) – Base formatter class to convert log records to text.
- converter#
Time converter.
- Type:
function
- converter#
- class morphfits.utils.logs.FileFormatter(datefmt: str = LOGGING_DATE_FORMAT)#
Bases:
UTCFormatter
Logfile formatter which uses UTC.
- Parameters:
UTCFormatter (class) – Base formatter class which uses UTC time.
- format(record: logging.LogRecord) str #
Format a log record as a str.
- Parameters:
record (logging.LogRecord) – Log record to format (line in log).
- Returns:
Formatted log record.
- Return type:
str
- class morphfits.utils.logs.StreamFormatter(datefmt: str = LOGGING_DATE_FORMAT)#
Bases:
UTCFormatter
Stream log formatter which uses UTC.
- Parameters:
UTCFormatter (class) – Base formatter class which uses UTC time.
- format(record: logging.LogRecord) str #
Format a log record as a coloured str for display.
- Parameters:
record (logging.LogRecord) – Log record to format (line in log).
- Returns:
Formatted log record.
- Return type:
str
- morphfits.utils.logs.create_logger(logger: logging.Logger = logging.getLogger(), filename: str | pathlib.Path = '.log', level: str = logging._levelToName[DEBUG], max_bytes: int = LOGGER_MAX_BYTES, backup_count: int = LOGGER_BACKUP_COUNT) logging.Logger #
Create or update a logger object with a rotating file and stream handler.
- Parameters:
logger (Logger, optional) – Logger object to create or update, by default a new logger.
filename (str | Path, optional) – Name or path to file to log to, by default .log.
level (str, optional) – Logging level to output, by default WARNING.
max_bytes (int, optional) – Maximum bytes to be stored in each log file, by default 1,000,000.
backup_count (int, optional) – Count of log files before rotation (first one is overwritten with new data), by default 4.
- Returns:
Logger object for this program.
- Return type:
Logger