code: def bind(_self, **kwargs):
          
          return Logger(
              {**_self._extra, **kwargs},
              _self._exception,
              _self._record,
              _self._lazy,
              _self._ansi,
              _self._raw,
              _self._depth,
          )
docs: Bind attributes to the ``extra`` dict of each logged message record.
  
          This is used to add custom context to each logging call.
  
          Parameters
          ----------
          **kwargs
              Mapping between keys and values that will be added to the ``extra`` dict.
  
          Returns
          -------
          :class:`~Logger`
              A logger wrapping the core logger, but which sends record with the customized ``extra``
              dict.
  
          Examples
          --------
          >>> logger.add(sys.stderr, format="{extra[ip]} - {message}")
          1
          >>> class Server:
          ...     def __init__(self, ip):
          ...         self.ip = ip
          ...         self.logger = logger.bind(ip=ip)
          ...     def call(self, message):
          ...         self.logger.info(message)
          ...
          >>> instance_1 = Server("192.168.0.200")
          >>> instance_2 = Server("127.0.0.1")
          >>> instance_1.call("First instance")
          192.168.0.200 - First instance
          >>> instance_2.call("Second instance")
          127.0.0.1 - Second instance