class_docstr: Log reader to read vdl log, support for frontend api in lib.py.
  
      
code: def get_log_data(self, component, run, tag):
      if (
          run in self._log_datas.keys()
          and component in self._log_datas[run].keys()
          and tag in self._log_datas[run][component].keys()
      ):
          return self._log_datas[run][component][tag]
      else:
          file_path = bfile.join(run, self.walks[run])
          reader = self._get_file_reader(
              file_path=file_path, update=False
          )
          remain = self.get_remain(reader=reader)
          data = self.read_log_data(remain=remain, update=False)[
              component
          ][tag]
          data = self.parsing_from_proto(component, data)
          self._log_datas[run][component][tag] = data
          return data
  
imports: import collections
  import os
  from functools import partial
  from visualdl.component import components
  from visualdl.io import bfile
  from visualdl.proto import record_pb2
  from visualdl.reader.record_reader import RecordReader
  from visualdl.server.data_manager import default_data_manager
  from visualdl.utils.string_util import decode_tag
  from visualdl.utils.string_util import encode_tag
label_desc: Use image node_id 7 for calling the LogReader obj's underlying member method code with example usage: obj.get_log_data(component, run, tag) and returns: self, data