pytweezer.servers.logger_server module¶
Generic logger launcher — the CONFIG["Loggers"] counterpart to
device_server.py.
Each logger in CONFIG["Loggers"] is a background worker that reads a data
source and pushes values into InfluxDB. Rather than give every logger its own
argparse + config-reading boilerplate, this module provides a single
launcher:
pytweezer-logger <logger_name>(console script) — start one logger.The logger manager launches the same thing: each logger’s
scriptin the config points here, soProcessTilerunspython logger_server.py <name>.
Adding a new logger instance means only editing config.py. Adding a new
logger type means writing a Logger subclass and
adding one factory to LOGGER_REGISTRY. Subclasses are imported lazily
inside their factory so a broken/optional logger never breaks importing this
launcher.
- pytweezer.servers.logger_server.LOGGER_REGISTRY = {'ni_adc': <function _make_ni_adc>}¶
Maps a logger’s
"logger"config key to the factory that builds it.
- pytweezer.servers.logger_server.build_logger(name, conf=None)[source]¶
Return the
Loggerinstance for the logger namedname.The logger’s
"logger"key selects the factory inLOGGER_REGISTRY.
- pytweezer.servers.logger_server.resolve_logger(name)[source]¶
Return
(canonical_name, conf)fornameinCONFIG["Loggers"].Matches the config key exactly first, then whitespace-/case-insensitively so command-line callers can pass
rblaserloggerfor"Rb Laser Logger". RaisesKeyErrorlisting the available loggers if nothing matches.