log_utils

Custom logger and associated utilities.

class log_utils.CustomLogger(sdir, ref, log=True)[source]

Bases: Logger

Custom logger.

Features:

  • Uses custom levels DATA, RESULTS, INPUT and INFO_NOSTREAM.

  • Implements a stream handler (level INFO) and a file handler (level DATA).

  • Wraps messages before logging.

Level

Value

File

Stream

DATA

15

o

x

RESULTS

16

o

x

INPUT

17

o

x

INFO_NOSTREAM

18

o

x

INFO

20

o

o

WARNING

30

o

o

__init__(sdir, ref, log=True)[source]

Class constructor.

add_stream_handler()[source]

Add stream handler with level INFO to logger object.

add_file_handler(file_path)[source]

Add file handler with level DATA to logger object.

data(msg, *args, **kwargs)[source]

Log message with DATA level.

input(msg, *args, **kwargs)[source]

Log message with INPUT level.

results(msg, *args, **kwargs)[source]

Log message with RESULTS level.

info(msg, *args, **kwargs)[source]

Log message with INFO level (overrides parent class method).

warning(msg, *args, **kwargs)[source]

Log message with WARNING level (overrides parent class method).

log_wrapper(level, msg, *args, **kwargs)[source]

Wrap message and log lines as multiple messages.

log_utils.parse_log(fpath)[source]

Get simulation results from log file.

Parameters:

fpath (pathlib.Path instance) – Path to log file.

Returns:

log_utils.get_and_log(dct, key, default, logger, key_alias=None, stream=True)[source]

Get dict value and send log if the key is absent from the dict.

Parameters:
  • dct (dictionary) – Dictionary to be probed.

  • key (str) – Requested key.

  • default (any) – Value returned if key is not in dict.

  • key_alias (str, optional) – Name to be logged instead of key if key is absent. The default is None.

Returns:

res – Value obtained from dict or default.

Return type:

any