class_docstr: A progress bar which logs upon completion of the item
  
  Note that there is also :func:`~datalad.log.log_progress` which can be used
  to get progress bars when attached to a tty but incremental log messages
  otherwise (as opposed to just the final log message provided by
  `LogProgressBar`).
class_docstr_tok: ["A","progress","bar","which","logs","upon","completion","of","the","item","Note","that","there","is","also",":","func",":","`","~datalad.log.log_progress","`","which","can","be","used","to","get","progress","bars","when","attached","to","a","tty","but","incremental","log","messages","otherwise","(","as","opposed","to","just","the","final","log","message","provided","by","`","LogProgressBar","`",")","."]
code: def __init__(self, *args, **kwargs):
      super(LogProgressBar, self).__init__(*args, **kwargs)
      # I think we never generate progress bars unless we are at the beginning
      # of reporting something lengthy.  .start is not always invoked so
      # we cannot reliably set it there instead of the constructor (here)
      self._start_time = time.time()
  
imports: import humanize
  import sys
  import time
  from ..None import lgr
label_desc: Use image node_id 1 to create a new LogProgressBar object from inherited base classes: ProgressBarBase with example: obj = LogProgressBar()