class_docstr: Base class for Journal storages.
  
  Storage classes implementing this base class must guarantee process safety. This means,
  multiple processes might concurrently call ``read_logs`` and ``append_logs``. If the
  backend storage does not internally support mutual exclusion mechanisms, such as locks,
  you might want to use :class:`~optuna.storages.JournalFileSymlinkLock` or
  :class:`~optuna.storages.JournalFileOpenLock` for creating a critical section.
class_docstr_tok: ["Base","class","for","Journal","storages",".","Storage","classes","implementing","this","base","class","must","guarantee","process","safety",".","This","means",",","multiple","processes","might","concurrently","call","``","read_logs","``","and","``","append_logs","``",".","If","the","backend","storage","does","not","internally","support","mutual","exclusion","mechanisms",",","such","as","locks",",","you","might","want","to","use",":","class",":","`","~optuna.storages.JournalFileSymlinkLock","`","or",":","class",":","`","~optuna.storages.JournalFileOpenLock","`","for","creating","a","critical","section","."]
docstr: Read logs with a log number greater than or equal to ``log_number_from``.
  
  If ``log_number_from`` is 0, read all the logs.
  
  Args:
      log_number_from:
          A non-negative integer value indicating which logs to read.
  
  Returns:
      Logs with log number greater than or equal to ``log_number_from``.
docstr_tok: ["Read","logs","with","a","log","number","greater","than","or","equal","to","``","log_number_from","``",".","If","``","log_number_from","``","is","0",",","read","all","the","logs",".","Args",":","log_number_from",":","A","non-negative","integer","value","indicating","which","logs","to","read",".","Returns",":","Logs","with","log","number","greater","than","or","equal","to","``","log_number_from","``","."]
code: def read_logs(self, log_number_from: int) -> List[Dict[str, Any]]:
      """Read logs with a log number greater than or equal to ``log_number_from``.
  
      If ``log_number_from`` is 0, read all the logs.
  
      Args:
          log_number_from:
              A non-negative integer value indicating which logs to read.
  
      Returns:
          Logs with log number greater than or equal to ``log_number_from``.
      """
  
      raise NotImplementedError
  
file_path: optuna/optuna/storages/_journal/base.py
imports: import abc
  from typing import Any
  from typing import Dict
  from typing import List
  from typing import Optional
label_desc: Use image node_id 1 for calling the BaseJournalLogStorage obj's underlying member method code with example usage: obj.read_logs(log_number_from) without return types