def METHOD_NAME(self, filters):
    """
    Delete Logs based on ``filters``
    :param filters: similar to QueryBuilder filter
    :type filters: dict
    :return: (former) ``PK`` s of deleted Logs
    :rtype: list
    :raises TypeError: if ``filters`` is not a `dict`
    :raises `~aiida.common.exceptions.ValidationError`: if ``filters`` is empty
    """
    from aiida.orm import Log, QueryBuilder
    # Checks
    if not isinstance(filters, dict):
        raise TypeError('filters must be a dictionary')
    if not filters:
        raise exceptions.ValidationError('filter must not be empty')
    # Apply filter and delete found entities
    builder = QueryBuilder(backend=self.backend).append(Log, filters=filters, project='id')
    entities_to_delete = builder.all(flat=True)
    for entity in entities_to_delete:
        self.delete(entity)
    # Return list of deleted entities' (former) PKs for checking
    return entities_to_delete