1616import copy
1717import json
1818import logging
19- from typing import TYPE_CHECKING
19+ from typing import TYPE_CHECKING , Any
2020
2121from rich import color , errors
2222from rich import print as printf
@@ -91,7 +91,7 @@ def make_logger(
9191 # set the rich handler
9292 rich_handler = RichHandler (
9393 console = console ,
94- show_time = parser .getboolean ("log_timestamps" ),
94+ show_time = parser .getboolean ("log_timestamps" , fallback = False ),
9595 keywords = HIGHLIGHTED_KEYWORDS ,
9696 )
9797
@@ -108,7 +108,7 @@ def make_logger(
108108 return logger , console , error_console
109109
110110
111- def parse_theme (parser : configparser .SectionProxy ) -> Theme :
111+ def parse_theme (parser : configparser .SectionProxy ) -> Theme | None :
112112 """Configure the rich style of logger and console output.
113113
114114 Parameters
@@ -126,7 +126,7 @@ def parse_theme(parser: configparser.SectionProxy) -> Theme:
126126 :func:`make_logger`.
127127
128128 """
129- theme = {key .replace ("_" , "." ): parser [key ] for key in parser }
129+ theme : dict [ str , Any ] = {key .replace ("_" , "." ): parser [key ] for key in parser }
130130
131131 theme ["log.width" ] = None if theme ["log.width" ] == "-1" else int (theme ["log.width" ])
132132 theme ["log.height" ] = (
@@ -188,8 +188,11 @@ def format(self, record: logging.LogRecord) -> str:
188188 """Format the record in a custom JSON format."""
189189 record_c = copy .deepcopy (record )
190190 if record_c .args :
191- for arg in record_c .args :
192- record_c .args [arg ] = "<>"
191+ if isinstance (record_c .args , dict ):
192+ for arg in record_c .args :
193+ record_c .args [arg ] = "<>"
194+ else :
195+ record_c .args = ("<>" ,) * len (record_c .args )
193196 return json .dumps (
194197 {
195198 "levelname" : record_c .levelname ,
0 commit comments