### Body

The _trigger_ log doesn't show that a trigger timed out when it is canceled due to timeout.

We should try to see if we can add a log message that would show up in the right place.  If we emit it from the trigger process, it might show up out of order.  

But then again, if we ultimately don't need to go back to the task, that would not be a problem.  

Additionally if we ultimately can "log from anywhere" then again, this would provide a clean solution.

This came up in PR discussion here: https://github.com/apache/airflow/pull/30853#discussion_r1187018026

The relevant trigger code is here: https://github.com/apache/airflow/blob/main/airflow/jobs/triggerer_job_runner.py#L598-L619

I think we could add logic so that when we receive a cancelled error (which could be for a few different reasons) then we can log the reason for the cancellation.   I think we could just add an `except CancelledError` and then log the reason.  We might need also to update the code in the location where we actually _initiate_ the cancellation to add sufficient information for the log message.

cc @syedahsn @phanikumv @jedcunningham @pankajastro 

### Committer

- [X] I acknowledge that I am a maintainer/committer of the Apache Airflow project.
.union(self.to_cancel)
            .union(x[0] for x in self.to_create)
            .union(trigger[0] for trigger in self.failed_triggers)
        )
        
        new_trigger_ids = requested_trigger_ids - known_trigger_ids
        cancel_trigger_ids = running_trigger_ids - requested_trigger_ids
        
        new_triggers = Trigger.bulk_fetch(new_trigger_ids)
        
        for new_id in new_trigger_ids:
            
            if new_id not in new_triggers:
                self.log.warning("Trigger ID %s disappeared before we could start it", new_id)
                continue
            
            try:
                new_trigger_orm = new_triggers[new_id]
                trigger_class = self.get_trigger_by_classpath(new_trigger_orm.classpath)
            except BaseException as e:
                
                self.failed_triggers.append((new_id, e))
                continue
            new_trigger_instance = trigger_class(**new_trigger_orm.kwargs)
            self.set_trigger_logging_metadata(new_trigger_orm.task_instance, new_id, new_trigger_instance)
            self.to_create.append((new_id, new_trigger_instance))
        
        for old_id in cancel_trigger_ids:
            self.to_cancel.append(old_id)
    def set_trigger_logging_metadata(self, ti: TaskInstance, trigger_id, trigger):