code: def logpath(self):
          
          name = '{}-{}.catan'.format(self.timestamp_str(),
                                      '-'.join([p.name for p in self._players]))
          path = os.path.join(self._log_dir, name)
          if not os.path.exists(self._log_dir):
              os.mkdir(self._log_dir)
          return path
docs: Return the logfile path and filename as a string.
  
          The file with name self.logpath() is written to on flush().
  
          The filename contains the log's timestamp and the names of players in the game.
          The logpath changes when reset() or _set_players() are called, as they change the
          timestamp and the players, respectively.