          """
          record.message = record.getMessage()
          record = self._rewrite_warnings(record)
          # strip newlines
          if "\n" in record.message or "\r" in record.message:
              record.message = record.message.replace("\n", "\\n").replace("\r", "\\r")
  
          if self.usesTime():
              record.asctime = self.formatTime(record, self.datefmt)
          msg = self.formatMessage(record)
 
</s> remove     record = _old_factory(*args, **kwargs)
 </s> add     record = _OLD_FACTORY(*args, **kwargs) </s> remove _old_factory = logging.getLogRecordFactory()
 </s> add _OLD_FACTORY = logging.getLogRecordFactory() </s> remove             chk = Popen(condaexe + [pkg], shell=True, stdout=PIPE)
 </s> add             chk = Popen(condaexe + [pkg], shell=shell, stdout=PIPE)
        if record.levelno < 30 and ("\n" in record.message or "\r" in record.message):
          """
          record.message = record.getMessage()
          record = self._rewrite_warnings(record)
          # strip newlines
        if record.levelno < 30 and ("\n" in record.message or "\r" in record.message):
              record.message = record.message.replace("\n", "\\n").replace("\r", "\\r")
  
          if self.usesTime():
              record.asctime = self.formatTime(record, self.datefmt)
          msg = self.formatMessage(record)
keep keep keep keep replace keep keep keep keep keep
 Update to TF2.3 (#1100)

* Minimum requirements to tf2.3.
  - Handle upgrades for Windows users with tf2.2 installed by Pip
  - Handle windows upgrade from pip tf2.2
  - Explicitly install Cuda for Conda installs

* Update tensorflow errors api reference
* Suppress AutoGraph warning messages
* Update GUI Stats to work with tf2.3
* Fix live graph for tf2.3
* DSSIMObjective - autoGraph bugfix
* Update Travis test 
lib/logger.py