text: import io
  import sys
  import os
  import logging
  import pytest
  
  from rich.console import Console
  from rich.logging import RichHandler
  
  handler = RichHandler(
      console=Console(
          file=io.StringIO(), force_terminal=True, width=80, color_system="truecolor"
      ),
      enable_link_path=False,
  )
  logging.basicConfig(
      level="NOTSET", format="%(message)s", datefmt="[DATE]", handlers=[handler]
  )
  log = logging.getLogger("rich")
  
  
  skip_win = pytest.mark.skipif(
      os.name == "nt",
      reason="rendered differently on windows",
  )
  
  
  @skip_win
  def test_exception():
      console = Console(
          file=io.StringIO(), force_terminal=True, width=140, color_system="truecolor"
      )
      handler_with_tracebacks = RichHandler(
          console=console, enable_link_path=False, rich_tracebacks=True
      )
      log.addHandler(handler_with_tracebacks)
  
      try:
          1 / 0
      except ZeroDivisionError:
          log.exception("message")
  
      render = handler_with_tracebacks.console.file.getvalue()
      print(render)
  
      assert "ZeroDivisionError" in render
      assert "message" in render
      assert "division by zero" in render
  
  
  def test_exception_with_extra_lines():
      console = Console(
          file=io.StringIO(), force_terminal=True, width=140, color_system="truecolor"
      )
      handler_extra_lines = RichHandler(
          console=console,
          enable_link_path=False,
          markup=True,
          rich_tracebacks=True,
          tracebacks_extra_lines=5,
      )
      log.addHandler(handler_extra_lines)
  
      try:
          1 / 0
      except ZeroDivisionError:
          log.exception("message")
  
      render = handler_extra_lines.console.file.getvalue()
      print(render)
  
      assert "ZeroDivisionError" in render
      assert "message" in render
      assert "division by zero" in render
  
  
  if __name__ == "__main__":
      render = make_log()
      print(render)
      print(repr(render))
  