class_docstr: The abstract base renderer to be subclassed when making a renderer
  the incorporates a `Portfolio`.
class_docstr_tok: ["The","abstract","base","renderer","to","be","subclassed","when","making","a","renderer","the","incorporates","a","`","Portfolio","`","."]
docstr: Creates a log entry to be used by a renderer.
  
  Parameters
  ----------
  episode : int
      The current episode.
  max_episodes : int
      The maximum number of episodes that can occur.
  step : int
      The current step of the current episode.
  max_steps : int
      The maximum number of steps within an episode that can occur.
  date_format : str
      The format for logging the date.
  
  Returns
  -------
  str
      a log entry
docstr_tok: ["Creates","a","log","entry","to","be","used","by","a","renderer",".","Parameters","--","--","--","--","--","episode",":","int","The","current","episode",".","max_episodes",":","int","The","maximum","number","of","episodes","that","can","occur",".","step",":","int","The","current","step","of","the","current","episode",".","max_steps",":","int","The","maximum","number","of","steps","within","an","episode","that","can","occur",".","date_format",":","str","The","format","for","logging","the","date",".","Returns","--","--","--","-","str","a","log","entry"]
code: def _create_log_entry(
      episode: int = None,
      max_episodes: int = None,
      step: int = None,
      max_steps: int = None,
      date_format: str = "%Y-%m-%d %H:%M:%S",
  ) -> str:
      """
      Creates a log entry to be used by a renderer.
  
      Parameters
      ----------
      episode : int
          The current episode.
      max_episodes : int
          The maximum number of episodes that can occur.
      step : int
          The current step of the current episode.
      max_steps : int
          The maximum number of steps within an episode that can occur.
      date_format : str
          The format for logging the date.
  
      Returns
      -------
      str
          a log entry
      """
      log_entry = f"[{datetime.now().strftime(date_format)}]"
  
      if episode is not None:
          log_entry += f" Episode: {episode + 1}/{max_episodes if max_episodes else ''}"
  
      if step is not None:
          log_entry += f" Step: {step}/{max_steps if max_steps else ''}"
  
      return log_entry
  
imports: import os
  import sys
  import logging
  import importlib
  from abc import abstractmethod
  from datetime import datetime
  from typing import Union, Tuple
  from collections import OrderedDict
  import numpy
  import pandas
  from IPython.display import display, clear_output
  from pandas.plotting import register_matplotlib_converters
  from tensortrade.oms.orders import TradeSide
  from tensortrade.env.generic import Renderer, TradingEnv
label_desc: Use image node_id 2 for calling the BaseRenderer obj's underlying member method code with example usage: obj._create_log_entry(episode, max_episodes, step, max_steps, date_format) and returns: log_entry