neuralqx.utils.io.loggers package¶
- class AbstractLogger¶
Bases:
ABCAbstract base class defining the logging interface used throughout neuraLQX.
A logger is responsible for collecting, organizing, sanitizing, displaying, and persisting structured information produced during solver execution, including configuration parameters, runtime metadata, and numerical results.
Concrete implementations may differ in storage backend, output format, user interface, or execution context (e.g. serial vs distributed), but must expose the same public behavioral contract defined by this interface.
This abstraction intentionally does not prescribe how logs are stored or rendered, it only defines what operations must be supported.
- class Logger(random_seed, solver_seed)¶
Bases:
AbstractLoggerStructured logger for neuraLQX solver executions.
This class collects, organizes, and manages simulation metadata, configuration parameters, and numerical results produced during solver runs. Logged data is stored in a hierarchical dictionary structure with predefined categories that can be extended dynamically at runtime.
- The logger supports:
Incremental logging of scalar and structured values
Runtime extension of log fields
Recursive sanitisation of unset entries
Human-readable display using Rich panels
Persistent export to a signed HTML file
The logger is distributed-aware: all logging, display, and file output operations are performed exclusively on process 0 to avoid duplicated output.