class_docstr: Handler for logging to a set of files, which switches from one file to the
  next when the current file reaches a certain size. Multiple processes can
  write to the log file concurrently, but this may mean that the file will
  exceed the given size.
class_docstr_tok: ["Handler","for","logging","to","a","set","of","files",",","which","switches","from","one","file","to","the","next","when","the","current","file","reaches","a","certain","size",".","Multiple","processes","can","write","to","the","log","file","concurrently",",","but","this","may","mean","that","the","file","will","exceed","the","given","size","."]
docstr: Acquire thread and file locks. Also re-opening log file when running
  in 'degraded' mode.
docstr_tok: ["Acquire","thread","and","file","locks",".","Also","re-opening","log","file","when","running","in","'degraded","'","mode","."]
code: def acquire(self):
      """Acquire thread and file locks. Also re-opening log file when running
      in 'degraded' mode."""
      # handle thread lock
      Handler.acquire(self)
      self.stream_lock.acquire()
      if self.stream.closed:
          self._openFile(self.mode)
  
file_path: nipype/nipype/external/cloghandler.py
imports: import os
  import sys
  from random import randint
  from logging import Handler
  from logging.handlers import BaseRotatingHandler
  from filelock import SoftFileLock
  import logging.handlers
label_desc: Use image node_id 3 for calling the ConcurrentRotatingFileHandler obj's underlying member method code with example usage: obj.acquire() without return types