rkstiff.util.loghelper
Logging helper utilities
Logging helper utilities for rkstiff solvers.
This module provides standardized logging configuration tools for
solver classes and submodules within the rkstiff framework.
It ensures consistent, hierarchical log naming (e.g., rkstiff.IF4),
and human-readable output formatting suitable for both console use and
debugging during solver development.
Overview
_parse_loglevel()— Convert user-specified log level to a numeric constant.get_level_name()— Return string name for a numeric logging level.setup_logger()— Configure and return a new logger.set_log_level()— Adjust the level of an existing logger.get_solver_logger()— Create a standardized logger for solver classes.
Example
from rkstiff.util.loghelper import get_solver_logger
class IF4:
def __init__(self):
self.logger = get_solver_logger(self.__class__, "INFO")
self.logger.info("Initialized IF4 solver")
# Output:
# 2025-11-02 10:30:45 - rkstiff.IF4 - INFO - Initialized IF4 solver
Functions
|
Convert a log level (string or numeric) into a Python |
|
Return the canonical string name for a numeric logging level. |
|
Return a standardized logger for a solver class. |
|
Set or update the logging level of an existing logger. |
|
Create and configure a logger with standardized formatting. |
- rkstiff.util.loghelper.get_level_name(level)[source]
Return the canonical string name for a numeric logging level.
- Parameters:
level (int) – Logging level constant (e.g.
logging.INFO).- Returns:
Corresponding level name, such as
"DEBUG","INFO", or"ERROR".- Return type:
Examples
>>> get_level_name(logging.INFO) 'INFO' >>> get_level_name(15) 'Level 15'
- rkstiff.util.loghelper.setup_logger(name, loglevel='WARNING')[source]
Create and configure a logger with standardized formatting.
The logger uses timestamped output of the form:
YYYY-MM-DD HH:MM:SS - logger_name - LEVEL - message
If a logger with the given name already exists, this function will not add additional handlers (to avoid duplicated messages).
- Parameters:
- Returns:
Configured logger instance.
- Return type:
Notes
This helper ensures a consistent format across all
rkstiffmodules. Typically used viaget_solver_logger()for class-based solvers.Examples
>>> logger = setup_logger("rkstiff.IF4", "INFO") >>> logger.info("Solver initialized") 2025-11-02 10:30:45 - rkstiff.IF4 - INFO - Solver initialized
- rkstiff.util.loghelper.set_log_level(logger, loglevel)[source]
Set or update the logging level of an existing logger.
- Parameters:
logger (logging.Logger) – Logger instance to modify.
loglevel (str or int) – New logging level (e.g.
"DEBUG"orlogging.INFO).
- Raises:
ValueError – If the provided string does not correspond to a valid logging level.
- Return type:
See also
setup_loggerCreate and configure a new logger.
get_solver_loggerGenerate a standardized solver logger.
Examples
>>> logger = setup_logger("rkstiff.IF4", "WARNING") >>> set_log_level(logger, "DEBUG") >>> logger.debug("Verbose solver output") 2025-11-02 10:30:47 - rkstiff.IF4 - DEBUG - Verbose solver output
- rkstiff.util.loghelper.get_solver_logger(solver_class, loglevel='WARNING')[source]
Return a standardized logger for a solver class.
The logger name follows the pattern
rkstiff.<ClassName>, ensuring consistent log hierarchies across solvers (e.g.rkstiff.IF4).- Parameters:
- Returns:
Configured logger instance named
"rkstiff.<ClassName>".- Return type:
Examples
>>> class IF4: ... pass >>> logger = get_solver_logger(IF4, "INFO") >>> logger.info("Solver initialized") 2025-11-02 10:30:48 - rkstiff.IF4 - INFO - Solver initialized