Covert system_log services to be callbacks (#114143)

This commit is contained in:
J. Nick Koston 2024-03-24 15:55:40 -10:00 committed by GitHub
parent e8fe3d349b
commit a5128c2148
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -310,23 +310,22 @@ async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool:
websocket_api.async_register_command(hass, list_errors)
async def async_service_handler(service: ServiceCall) -> None:
"""Handle logger services."""
if service.service == "clear":
handler.records.clear()
return
if service.service == "write":
logger = logging.getLogger(
service.data.get(CONF_LOGGER, f"{__name__}.external")
)
level = service.data[CONF_LEVEL]
getattr(logger, level)(service.data[CONF_MESSAGE])
@callback
def _async_clear_service_handler(service: ServiceCall) -> None:
handler.records.clear()
@callback
def _async_write_service_handler(service: ServiceCall) -> None:
name = service.data.get(CONF_LOGGER, f"{__name__}.external")
logger = logging.getLogger(name)
level = service.data[CONF_LEVEL]
getattr(logger, level)(service.data[CONF_MESSAGE])
hass.services.async_register(
DOMAIN, SERVICE_CLEAR, async_service_handler, schema=SERVICE_CLEAR_SCHEMA
DOMAIN, SERVICE_CLEAR, _async_clear_service_handler, schema=SERVICE_CLEAR_SCHEMA
)
hass.services.async_register(
DOMAIN, SERVICE_WRITE, async_service_handler, schema=SERVICE_WRITE_SCHEMA
DOMAIN, SERVICE_WRITE, _async_write_service_handler, schema=SERVICE_WRITE_SCHEMA
)
return True