**Apache Airflow version**:
2.1.0

**What happened**:
When printing emoji to a DAG log, the Airflow dashboard fails to display the entire log.
When checking the output log in the Airflow dashboard, the following error message appears:

> *** Failed to load local log file: /tmp/dag_name/task_name/2021-07-06T10:49:18.136953+00:00/1.log
> *** 'ascii' codec can't decode byte 0xf0 in position 3424: ordinal not in range(128)

**What you expected to happen**:
The log should be displayed.

<!-- What do you think went wrong? -->


**How to reproduce it**:
Insert the following into any Python DAG, then run it.
`print("💼")`

**How often does this problem occur?**
Every log with an emoji in it prints an error.

**Why would anyone even want to print emoji in their logs?**
When they're part of the dataset you're processing.
airflow/utils/log/file_task_handler.py
"""
    FileTaskHandler is a python log handler that handles and reads
    task instance logs. It creates and delegates log handling
    to `logging.FileHandler` after receiving task instance context.
    It reads logs from task instance's host machine.
    :param base_log_folder: Base log folder to place logs.
    :param filename_template: template filename string
    """
    def __init__(self, base_log_folder: str, filename_template: str):
        super().__init__()
        self.handler = None  
        self.local_base = base_log_folder
        self.filename_template, self.filename_jinja_template = parse_template_string(filename_template)
    def set_context(self, ti: "TaskInstance"):
        """
        Provide task_instance context to airflow task handler.
        :param ti: task instance object
        """
        local_loc = self._init_file(ti)
        self.handler = NonCachingFileHandler(local_loc, encoding='utf-8')
        if self.formatter:
            self.handler.setFormatter(self.formatter)
        self.handler.setLevel(self.level)
    def emit(self, record):