nvm.aux_log package
Submodules
nvm.aux_log.aux_log module
Logger that handles two outputs (stdout and file).
- class nvm.aux_log.aux_log.Log0(dir0='logs', fn0=None, write=False, stream_lvl='INFO', file_lvl='DEBUG')[source]
Bases:
objectLog0: logger that handles two outputs (stdout and file).
Initialize Log0 class.
Examples
Without writing to log file.
>>> import nvm >>> logZ = nvm.Log0( >>> write=False, >>> stream_lvl="INFO", >>> file_lvl="DEBUG", >>> ) >>> log0 = logZ.logger >>> # Check log file location >>> log0.info(f"{logZ.of0 = }")
Or simply
>>> import nvm >>> import pathlib >>> logZ = nvm.Log0() >>> log0 = logZ.logger >>> log0.info(f"{pathlib.Path.cwd() = }")
With writing to log file.
>>> import nvm >>> logZ = nvm.Log0( >>> write=True, >>> stream_lvl="INFO", >>> file_lvl="DEBUG", >>> ) >>> log0 = logZ.logger >>> # Check log file location >>> log0.info(f"{logZ.of0 = }")
Change logging levels.
>>> # Check levels >>> log0.info(f"handler0: {logZ.logging.getLevelName(logZ.handler0)}") >>> log0.info(f"handler1: {logZ.logging.getLevelName(logZ.handler1)}") >>> log0.info(f"logger: {logZ.logging.getLevelName(log0)}") >>> # Set levels >>> logZ.handler0.setLevel("DEBUG") >>> # Check levels again >>> log0.info(f"handler0: {logZ.logging.getLevelName(logZ.handler0)}") >>> log0.info(f"handler1: {logZ.logging.getLevelName(logZ.handler1)}") >>> log0.info(f"logger: {logZ.logging.getLevelName(log0)}") >>> # Set overall ogging level >>> log0.setLevel("CRITICAL") >>> log0.info(f"handler0: {logZ.logging.getLevelName(logZ.handler0)}") >>> log0.info(f"handler1: {logZ.logging.getLevelName(logZ.handler1)}") >>> log0.info(f"logger: {logZ.logging.getLevelName(log0)}") >>> # no output expected from log0.info after setting "CRITICAL" logging level