parameters: (self, logger, extra)
docstring: Initialize the adapter with a logger and a dict-like object which
          provides contextual information. This constructor signature allows
          easy stacking of LoggerAdapters, if so desired.
  
          You can effectively pass keyword arguments as shown in the
          following example:
  
          adapter = LoggerAdapter(someLogger, dict(p1=v1, p2="v2"))
docstring_summary: Initialize the adapter with a logger and a dict-like object which
          provides contextual information. This constructor signature allows
          easy stacking of LoggerAdapters, if so desired.
docstring_tokens: Initialize the adapter with a logger and a dict - like object which provides contextual information . This constructor signature allows easy stacking of LoggerAdapters if so desired .
function: def __init__(self, logger, extra):
          """
          Initialize the adapter with a logger and a dict-like object which
          provides contextual information. This constructor signature allows
          easy stacking of LoggerAdapters, if so desired.
  
          You can effectively pass keyword arguments as shown in the
          following example:
  
          adapter = LoggerAdapter(someLogger, dict(p1=v1, p2="v2"))
          """
          self.logger = logger
          self.extra = extra
function_tokens: def __init__ ( self , logger , extra ) : self . logger = logger self . extra = extra