class_docstr: Log reader to read vdl log, support for frontend api in lib.py.
  
      
docstr: Get logs.
  
  Every dir(means `run` in vdl) has only one log(meads `actual log file`).
  
  Returns:
      walks: A dict like {"exp1": "vdlrecords.1587375595.log",
                          "exp2": "vdlrecords.1587375685.log"}
docstr_tok: ["Get","logs",".","Every","dir","(","means","`","run","`","in","vdl",")","has","only","one","log","(","meads","`","actual","log","file","`",")",".","Returns",":","walks",":","A","dict","like","{","``","exp1","''",":","``","vdlrecords.1587375595.log","''",",","``","exp2","''",":","``","vdlrecords.1587375685.log","''","}"]
code: def logs(self, update=False):
      """Get logs.
  
      Every dir(means `run` in vdl) has only one log(meads `actual log file`).
  
      Returns:
          walks: A dict like {"exp1": "vdlrecords.1587375595.log",
                              "exp2": "vdlrecords.1587375685.log"}
      """
      if self.walks is None or update is True:
          self.get_all_walk()
  
          walks_temp = {}
          for run, tags in self.walks.items():
              tags_temp = [
                  tag for tag in tags if is_VDLRecord_file(tag)
              ]
              tags_temp.sort(reverse=True)
              if len(tags_temp) > 0:
                  walks_temp.update({run: tags_temp[0]})
          self.walks = walks_temp
      return self.walks
  
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 13 for calling the LogReader obj's underlying member method code with example usage: obj.logs(update) and returns: self