docstr: Copy global Heartbeat log to results dir as .log file named for :attr:`experiment_id`
docstr_tok: ["Copy","global","Heartbeat","log","to","results","dir","as",".log","file","named","for",":","attr",":","`","experiment_id","`"]
code: def save_result(self):
      """Copy global Heartbeat log to results dir as .log file named for :attr:`experiment_id`"""
      shutil.copyfile(
          G.Env.result_paths["current_heartbeat"],
          f"{self.result_path}/{self.experiment_id}.log",
      )
  
imports: from hyperparameter_hunter.data import OOFDataset, HoldoutDataset, TestDataset
  from hyperparameter_hunter.i_o.exceptions import EnvironmentInactiveError, EnvironmentInvalidError
  from hyperparameter_hunter.i_o.leaderboards import GlobalLeaderboard
  from hyperparameter_hunter.settings import G
  from hyperparameter_hunter.utils.file_utils import write_json, add_to_json, make_dirs, read_json
  from hyperparameter_hunter.utils.file_utils import RetryMakeDirs
  from hyperparameter_hunter.utils.general_utils import subdict
  from abc import ABCMeta, abstractmethod
  from collections import OrderedDict
  from platform import node
  import shutil
  from sys import exc_info
label_desc: Use image node_id 2 for calling the HeartbeatRecorder obj's underlying member method code with example usage: obj.save_result() without return types