This is an automated email from the ASF dual-hosted git repository.

kamilbregula pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/airflow.git


The following commit(s) were added to refs/heads/master by this push:
     new afa1723  Remove TaskInstance.log_filepath attribute (#15217)
afa1723 is described below

commit afa1723d2493fa23676f1b3d34c8b71f41d7503f
Author: Kamil BreguĊ‚a <mik-...@users.noreply.github.com>
AuthorDate: Mon May 24 22:48:44 2021 +0200

    Remove TaskInstance.log_filepath attribute (#15217)
    
    * Remove TaskInstance.log_filepath attribute
    
    * fixup! Remove TaskInstance.log_filepath attribute
    
    * Update UPDATING.md
    
    Co-authored-by: Kaxil Naik <kaxiln...@gmail.com>
    
    Co-authored-by: Kaxil Naik <kaxiln...@gmail.com>
---
 UPDATING.md                                | 10 ++++++++++
 airflow/models/taskinstance.py             |  9 ---------
 docs/apache-airflow/howto/email-config.rst |  1 -
 3 files changed, 10 insertions(+), 10 deletions(-)

diff --git a/UPDATING.md b/UPDATING.md
index 2bf424c..bf98557 100644
--- a/UPDATING.md
+++ b/UPDATING.md
@@ -72,6 +72,16 @@ https://developers.google.com/style/inclusive-documentation
 
 -->
 
+### Remove `TaskInstance.log_filepath` attribute
+
+This method returned incorrect values for a long time, because it did not take 
into account the different
+logger configuration and task retries. We have also started supporting more 
advanced tools that don't use
+files, so it is impossible to determine the correct file path in every case 
e.g. Stackdriver doesn't use files
+but identifies logs based on labels.  For this reason, we decided to delete 
this attribute.
+
+If you need to read logs, you can use 
`airflow.utils.log.log_reader.TaskLogReader` class, which does not have
+the above restrictions.
+
 ### Default Task Pools Slots can be set using ``[core] 
default_pool_task_slot_count``
 
 By default tasks are running in `default_pool`. `default_pool` is initialized 
with `128` slots and user can change the
diff --git a/airflow/models/taskinstance.py b/airflow/models/taskinstance.py
index e5ff20b..426b942 100644
--- a/airflow/models/taskinstance.py
+++ b/airflow/models/taskinstance.py
@@ -514,13 +514,6 @@ class TaskInstance(Base, LoggingMixin):  # pylint: 
disable=R0902,R0904
         return cmd
 
     @property
-    def log_filepath(self):
-        """Filepath for TaskInstance"""
-        iso = self.execution_date.isoformat()
-        the_log = os.path.expanduser(conf.get('logging', 'BASE_LOG_FOLDER'))
-        return f"{the_log}/{self.dag_id}/{self.task_id}/{iso}.log"
-
-    @property
     def log_url(self):
         """Log URL for TaskInstance"""
         iso = quote(self.execution_date.isoformat())
@@ -1812,7 +1805,6 @@ class TaskInstance(Base, LoggingMixin):  # pylint: 
disable=R0902,R0904
             'Exception:<br>{{exception_html}}<br>'
             'Log: <a href="{{ti.log_url}}">Link</a><br>'
             'Host: {{ti.hostname}}<br>'
-            'Log file: {{ti.log_filepath}}<br>'
             'Mark success: <a href="{{ti.mark_success_url}}">Link</a><br>'
         )
 
@@ -1821,7 +1813,6 @@ class TaskInstance(Base, LoggingMixin):  # pylint: 
disable=R0902,R0904
             'Exception:<br>Failed attempt to attach error logs<br>'
             'Log: <a href="{{ti.log_url}}">Link</a><br>'
             'Host: {{ti.hostname}}<br>'
-            'Log file: {{ti.log_filepath}}<br>'
             'Mark success: <a href="{{ti.mark_success_url}}">Link</a><br>'
         )
 
diff --git a/docs/apache-airflow/howto/email-config.rst 
b/docs/apache-airflow/howto/email-config.rst
index 98372f5..2aa9912 100644
--- a/docs/apache-airflow/howto/email-config.rst
+++ b/docs/apache-airflow/howto/email-config.rst
@@ -50,7 +50,6 @@ For example a ``html_content_template`` file could look like 
this:
   Exception:<br>{{exception_html}}<br>
   Log: <a href="{{ti.log_url}}">Link</a><br>
   Host: {{ti.hostname}}<br>
-  Log file: {{ti.log_filepath}}<br>
   Mark success: <a href="{{ti.mark_success_url}}">Link</a><br>
 
 .. note::

Reply via email to