Configure icloudpy logging to match app logging level.
()
| 97 | |
| 98 | |
| 99 | def configure_icloudpy_logging(): |
| 100 | """Configure icloudpy logging to match app logging level.""" |
| 101 | logger_config = get_logger_config(config=read_config(config_path=os.environ.get(ENV_CONFIG_FILE_PATH_KEY, DEFAULT_CONFIG_FILE_PATH))) |
| 102 | if logger_config: |
| 103 | level_name = logging.getLevelName(level=logger_config["level"].upper()) |
| 104 | |
| 105 | # Configure icloudpy loggers to use the same level and enable propagation |
| 106 | icloudpy_loggers = [ |
| 107 | logging.getLogger("icloudpy"), |
| 108 | logging.getLogger("icloudpy.base"), |
| 109 | logging.getLogger("icloudpy.services"), |
| 110 | logging.getLogger("icloudpy.services.photos"), |
| 111 | ] |
| 112 | for icloudpy_logger in icloudpy_loggers: |
| 113 | icloudpy_logger.setLevel(level=level_name) |
| 114 | # Enable propagation so messages go to root logger handlers |
| 115 | icloudpy_logger.propagate = True |
| 116 | # Remove any existing handlers to avoid duplicates |
| 117 | icloudpy_logger.handlers.clear() |
| 118 | |
| 119 | |
| 120 | def get_logger(): |
no test coverage detected