class_docstr: Test built-in loggers.
class_docstr_tok: ["Test","built-in","loggers","."]
code: def testLegacyBadTBX(self):
      config = {"b": (1, 2, 3)}
      t = Trial(
          evaluated_params=config, trial_id="tbx", logdir=self.test_dir
      )
      logger = TBXLogger(config=config, logdir=self.test_dir, trial=t)
      logger.on_result(result(0, 4))
      logger.on_result(
          result(2, 4, score=[1, 2, 3], hello={"world": 1})
      )
      with self.assertLogs("ray.tune.logger", level="INFO") as cm:
          logger.close()
      assert "INFO" in cm.output[0]
  
imports: import csv
  from dataclasses import dataclass
  import glob
  import json
  import os
  import unittest
  import tempfile
  from pathlib import Path
  from typing import Optional
  import shutil
  import numpy
  import ray
  from ray.air.constants import EXPR_PARAM_FILE, EXPR_PARAM_PICKLE_FILE, EXPR_PROGRESS_FILE, EXPR_RESULT_FILE
  from ray.cloudpickle import cloudpickle
  from ray.train import Checkpoint
  from ray.tune.logger import CSVLoggerCallback, JsonLoggerCallback, JsonLogger, CSVLogger, TBXLoggerCallback, TBXLogger
  from ray.tune.logger.aim import AimLoggerCallback
  from ray.tune.utils import flatten_dict
label_desc: Use image node_id 13 for calling the LoggerSuite obj's underlying member method code with example usage: obj.testLegacyBadTBX() without return types