def __init__(self, mass: MusicAssistant) -> None:
"""Initialize MusicProvider."""
self.mass = mass
- self.logger = logging.getLogger(f"{ROOT_LOGGER_NAME}.{self.domain}")
- log_level = self.mass.config.get_raw_core_config_value(
- self.domain, CONF_LOG_LEVEL, "GLOBAL"
- )
- if log_level != "GLOBAL":
- self.logger.setLevel(log_level)
+ self._set_logger()
self.manifest = ProviderManifest(
type=ProviderType.CORE,
domain=self.domain,
if config is None:
config = await self.mass.config.get_core_config(self.domain)
log_level = config.get_value(CONF_LOG_LEVEL)
- if log_level == "GLOBAL":
- log_level = logging.getLogger(ROOT_LOGGER_NAME).level
- self.logger.setLevel(log_level)
+ self._set_logger(log_level)
await self.setup(config)
+
+ def _set_logger(self, log_level: int | None = None) -> None:
+ """Set the logger settings."""
+ mass_logger = logging.getLogger(ROOT_LOGGER_NAME)
+ self.logger = logging.getLogger(f"{ROOT_LOGGER_NAME}.{self.domain}")
+ if log_level is None:
+ log_level = self.mass.config.get_raw_core_config_value(
+ self.domain, CONF_LOG_LEVEL, "GLOBAL"
+ )
+ if log_level == "GLOBAL":
+ self.logger.setLevel(mass_logger.level)
+ else:
+ self.logger.setLevel(log_level)
+ # if the root logger's level is higher, we need to adjust that too
+ if logging.getLogger().level > self.logger.level:
+ logging.getLogger().setLevel(self.logger.level)