class_docstr: Class for sending messages to task instance logs from outside task execution context.
  
  This is intended to be used mainly in exceptional circumstances, to give visibility into
  events related to task execution when otherwise there would be none.
  
  :meta private:
class_docstr_tok: ["Class","for","sending","messages","to","task","instance","logs","from","outside","task","execution","context",".","This","is","intended","to","be","used","mainly","in","exceptional","circumstances",",","to","give","visibility","into","events","related","to","task","execution","when","otherwise","there","would","be","none",".",":","meta","private",":"]
docstr: Emit a log message with level NOTSET to the task instance logs.
  
  :param msg: the message to relay to task context log
  :param ti: the task instance
docstr_tok: ["Emit","a","log","message","with","level","NOTSET","to","the","task","instance","logs",".",":","param","msg",":","the","message","to","relay","to","task","context","log",":","param","ti",":","the","task","instance"]
code: def notset(self, msg: str, *args, ti: TaskInstance):
      """
      Emit a log message with level NOTSET to the task instance logs.
  
      :param msg: the message to relay to task context log
      :param ti: the task instance
      """
      self._log(logging.NOTSET, msg, *args, ti=ti)
  
file_path: airflow/airflow/utils/log/task_context_logger.py
imports: from __future__ import annotations
  import logging
  from contextlib import suppress
  from copy import copy
  from logging import Logger
  from typing import TYPE_CHECKING
  from airflow.configuration import conf
label_desc: Use image node_id 12 for calling the TaskContextLogger obj's underlying member method code with example usage: obj.notset(msg) without return types