fftools.logger

class fftools.logger.InterceptHandler(level=0)[source]

Bases: Handler

Intercept python logging messages and log them via loguru.logger.

emit(record: Any) None[source]

Do whatever it takes to actually log the specified logging record.

This version is intended to be implemented by subclasses and so raises a NotImplementedError.

Parameters:

record (Any)

Return type:

None

class fftools.logger.Timestamp(timezone: str = 'Europe/Zurich', timestamp_format: str = '%Y-%m-%dT%H:%M:%S')[source]

Bases: object

timestamp class for logging related strings.

Parameters:
  • timezone (str)

  • timestamp_format (str)

__init__(timezone: str = 'Europe/Zurich', timestamp_format: str = '%Y-%m-%dT%H:%M:%S') None[source]

Set timezone and format specific preferences.

Parameters:
  • timezone (str) – timezone to use for timestamps.

  • timestamp_format (str) – strftime format string to use for timestamps.

Return type:

None

property datetime: ZonedDateTime
property now: str
property now_crossplatform: str
property ts_hms: str
property ts_ymd: str
fftools.logger.prepare_logger(loglevel: int = 20, logfile: Path | None = None, logfmt: str = '<level>{time:YYYY-MM-DD HH:mm:ss zz} [{level}]</> <c>[{name}]</> {message}') None[source]

Init logger with specified loglevel and logfile.

Parameters:
  • loglevel (int) – level to set. 10 = debug, 20 = info, 30 = warning, etc.

  • logfile (Path | None) – logfile to write log messages into.

  • logfmt (str) – log string format to use.

Return type:

None