cape.cfdx.logger: Logging utilities for CAPE

This module provides the class CaseLogger that is used to record log messages for individual cases.

class cape.cfdx.logger.ArchivistLogger(rootdir: str | None = None)

Logger for archiving of individual case

Call:
>>> logger = ArchivistLogger(rootdir)
Inputs:
rootdir: {None} | str

Absolute path to root folder of case

Outputs:
logger: CaseLogger

Looger instance for one case

log_main(title: str, msg: str)

Write a message to primary case log

Call:
>>> logger.log_main(title, msg)
Inputs:
logger: CaseLogger

Looger instance for one case

title: str

Short string to use as classifier for log message

msg: str

Main content of log message

Versions:
  • 2024-07-31 @ddalle: v1.0

log_warning(title: str, msg: str)

Write a message to verbose case log

Call:
>>> logger.log_warning(title, msg)
Inputs:
logger: CaseLogger

Looger instance for one case

title: str

Short string to use as classifier for log message

msg: str

Main content of log message

Versions:
  • 2024-07-31 @ddalle: v1.0

open_main() IOBase

Open and return the main log file handle

Call:
>>> fp = logger.open_main()
Inputs:
logger: ArchivistLogger

Looger instance for one case

Outputs:
fp: IOBase

File handle or string stream for main log

Versions:
  • 2024-07-31 @ddalle: v1.0

open_warnings() IOBase

Open and return the warning log file handle

Call:
>>> fp = logger.open_warnings()
Inputs:
logger: ArchivistLogger

Looger instance for one case

Outputs:
fp: IOBase

File handle or string stream for verbose log

Versions:
  • 2024-07-31 @ddalle: v1.0

rawlog_main(msg: str)

Write a raw message to primary case archiving log

Call:
>>> logger.rawlog_main(msg)
Inputs:
logger: ArchivistLogger

Looger instance for one case

msg: str

Content of log message

Versions:
  • 2024-07-31 @ddalle: v1.0

rawlog_warning(msg: str)

Write a raw message to archiving warning log

Call:
>>> logger.rawlog_warning(msg)
Inputs:
logger: ArchivistLogger

Looger instance for one case

msg: str

Content of log message

Versions:
  • 2024-07-31 @ddalle: v1.0

class cape.cfdx.logger.BaseLogger(rootdir: str | None = None)

Template logger class

Call:
>>> logger = BaseLogger()
Inputs:
rootdir: {None} | str

Absolute path to root folder of case/run matrix

Outputs:
logger: BaseLogger

Looger instance for one case

open_logfile(name: str, fname: str) IOBase

Open a log file, or get already open handle

Call:
>>> fp = logger.open_logfile(name, fname)
Inputs:
logger: CaseLogger

Looger instance for one case

name: str

Name of logger, used as key in logger.fp

fname: str

Name of log file relative to case’s log dir

Outputs:
fp: IOBase

File handle or string stream for verbose log

Versions:
  • 2024-07-31 @ddalle: v1.0

class cape.cfdx.logger.CaseLogger(rootdir: str | None = None)

Logger for an individual CAPE case

Call:
>>> logger = CaseLogger(rootdir)
Inputs:
rootdir: {None} | str

Absolute path to root folder of case

Outputs:
logger: CaseLogger

Looger instance for one case

log_main(title: str, msg: str)

Write a message to primary case log

Call:
>>> logger.log_main(title, msg)
Inputs:
logger: CaseLogger

Looger instance for one case

title: str

Short string to use as classifier for log message

msg: str

Main content of log message

Versions:
  • 2024-07-31 @ddalle: v1.0

log_verbose(title: str, msg: str)

Write a message to verbose case log

Call:
>>> logger.log_verbose(title, msg)
Inputs:
logger: CaseLogger

Looger instance for one case

title: str

Short string to use as classifier for log message

msg: str

Main content of log message

Versions:
  • 2024-07-31 @ddalle: v1.0

logdict_verbose(title: str, data: dict)

Write a dict to the verbose log as JSON content

Call:
>>> logger.logdict_verbose(title, data)
Inputs:
logger: CaseLogger

Looger instance for one case

title: str

Short string to use as classifier for log message

data: dict

Information to write as JSON log

Versions:
  • 2024-07-31 @ddalle: v1.0

open_main() IOBase

Open and return the main log file handle

Call:
>>> fp = logger.open_main()
Inputs:
logger: CaseLogger

Looger instance for one case

Outputs:
fp: IOBase

File handle or string stream for main log

Versions:
  • 2024-07-31 @ddalle: v1.0

open_verbose() IOBase

Open and return the verbose log file handle

Call:
>>> fp = logger.open_verbose()
Inputs:
logger: CaseLogger

Looger instance for one case

Outputs:
fp: IOBase

File handle or string stream for verbose log

Versions:
  • 2024-07-31 @ddalle: v1.0

rawlog_main(msg: str)

Write a raw message to primary case log

Call:
>>> logger.rawlog_main(msg)
Inputs:
logger: CaseLogger

Looger instance for one case

msg: str

Content of log message

Versions:
  • 2024-07-31 @ddalle: v1.0

rawlog_verbose(msg: str)

Write a raw message to verbose case log

Call:
>>> logger.rawlog_verbose(msg)
Inputs:
logger: CaseLogger

Looger instance for one case

msg: str

Content of log message

Versions:
  • 2024-07-31 @ddalle: v1.0