code: def send(self, logger: MainLogger):
      grouped_log_history = logger.grouped_log_history()
      for group, metrics in grouped_log_history.items():
          for metric, logs in metrics.items():
              if len(logs) != self.target_log_history_length:
                  raise ValueError(
                      f"History too long ({len(logs)}) for {group} {metric}"
                  )
  
file_path: livelossplot/tests/test_from_step.py
imports: from livelossplot import MainLogger, PlotLosses
  from livelossplot.outputs import BaseOutput
label_desc: Use image node_id 2 for calling the CheckOutput obj's underlying member method code with example usage: obj.send(logger) without return types