Method: rich.logging.RichHandler.emit
Calls: 16, Exceptions: 0, Paths: 5Back
Path 1: 7 calls (0.44)
LogRecord (7)
1def emit(self, record: LogRecord) -> None:
2 """Invoked by logging."""
3 message = self.format(record)
4 traceback = None
5 if (
6 self.rich_tracebacks
7 and record.exc_info
8 and record.exc_info != (None, None, None)
9 ):
10 exc_type, exc_value, exc_traceback = record.exc_info
11 assert exc_type is not None
12 assert exc_value is not None
13 traceback = Traceback.from_exception(
14 exc_type,
15 exc_value,
16 exc_traceback,
17 width=self.tracebacks_width,
18 extra_lines=self.tracebacks_extra_lines,
19 theme=self.tracebacks_theme,
20 word_wrap=self.tracebacks_word_wrap,
21 show_locals=self.tracebacks_show_locals,
22 locals_max_length=self.locals_max_length,
23 locals_max_string=self.locals_max_string,
24 suppress=self.tracebacks_suppress,
25 )
26 message = record.getMessage()
27 if self.formatter:
28 record.message = record.getMessage()
29 formatter = self.formatter
30 if hasattr(formatter, "usesTime") and formatter.usesTime():
31 record.asctime = formatter.formatTime(record, formatter.datefmt)
32 message = formatter.formatMessage(record)
33
34 message_renderable = self.render_message(record, message)
35 log_renderable = self.render(
36 record=record, traceback=traceback, message_renderable=message_renderable
37 )
38 if isinstance(self.console.file, NullFile):
39 # Handles pythonw, where stdout/stderr are null, and we return NullFile
40 # instance from Console.file. In this case, we still want to make a log record
41 # even though we won't be writing anything to a file.
42 self.handleError(record)
43 else:
44 try:
45 self.console.print(log_renderable)
46 except Exception:
47 self.handleError(record)
Path 2: 3 calls (0.19)
LogRecord (3)
1def emit(self, record: LogRecord) -> None:
2 """Invoked by logging."""
3 message = self.format(record)
4 traceback = None
5 if (
6 self.rich_tracebacks
7 and record.exc_info
8 and record.exc_info != (None, None, None)
9 ):
10 exc_type, exc_value, exc_traceback = record.exc_info
11 assert exc_type is not None
12 assert exc_value is not None
13 traceback = Traceback.from_exception(
14 exc_type,
15 exc_value,
16 exc_traceback,
17 width=self.tracebacks_width,
18 extra_lines=self.tracebacks_extra_lines,
19 theme=self.tracebacks_theme,
20 word_wrap=self.tracebacks_word_wrap,
21 show_locals=self.tracebacks_show_locals,
22 locals_max_length=self.locals_max_length,
23 locals_max_string=self.locals_max_string,
24 suppress=self.tracebacks_suppress,
25 )
26 message = record.getMessage()
27 if self.formatter:
28 record.message = record.getMessage()
29 formatter = self.formatter
30 if hasattr(formatter, "usesTime") and formatter.usesTime():
31 record.asctime = formatter.formatTime(record, formatter.datefmt)
32 message = formatter.formatMessage(record)
33
34 message_renderable = self.render_message(record, message)
35 log_renderable = self.render(
36 record=record, traceback=traceback, message_renderable=message_renderable
37 )
38 if isinstance(self.console.file, NullFile):
39 # Handles pythonw, where stdout/stderr are null, and we return NullFile
40 # instance from Console.file. In this case, we still want to make a log record
41 # even though we won't be writing anything to a file.
42 self.handleError(record)
43 else:
44 try:
45 self.console.print(log_renderable)
46 except Exception:
47 self.handleError(record)
Path 3: 3 calls (0.19)
LogRecord (3)
1def emit(self, record: LogRecord) -> None:
2 """Invoked by logging."""
3 message = self.format(record)
4 traceback = None
5 if (
6 self.rich_tracebacks
7 and record.exc_info
8 and record.exc_info != (None, None, None)
9 ):
10 exc_type, exc_value, exc_traceback = record.exc_info
11 assert exc_type is not None
12 assert exc_value is not None
13 traceback = Traceback.from_exception(
14 exc_type,
15 exc_value,
16 exc_traceback,
17 width=self.tracebacks_width,
18 extra_lines=self.tracebacks_extra_lines,
19 theme=self.tracebacks_theme,
20 word_wrap=self.tracebacks_word_wrap,
21 show_locals=self.tracebacks_show_locals,
22 locals_max_length=self.locals_max_length,
23 locals_max_string=self.locals_max_string,
24 suppress=self.tracebacks_suppress,
25 )
26 message = record.getMessage()
27 if self.formatter:
28 record.message = record.getMessage()
29 formatter = self.formatter
30 if hasattr(formatter, "usesTime") and formatter.usesTime():
31 record.asctime = formatter.formatTime(record, formatter.datefmt)
32 message = formatter.formatMessage(record)
33
34 message_renderable = self.render_message(record, message)
35 log_renderable = self.render(
36 record=record, traceback=traceback, message_renderable=message_renderable
37 )
38 if isinstance(self.console.file, NullFile):
39 # Handles pythonw, where stdout/stderr are null, and we return NullFile
40 # instance from Console.file. In this case, we still want to make a log record
41 # even though we won't be writing anything to a file.
42 self.handleError(record)
43 else:
44 try:
45 self.console.print(log_renderable)
46 except Exception:
47 self.handleError(record)
Path 4: 2 calls (0.12)
LogRecord (2)
1def emit(self, record: LogRecord) -> None:
2 """Invoked by logging."""
3 message = self.format(record)
4 traceback = None
5 if (
6 self.rich_tracebacks
7 and record.exc_info
8 and record.exc_info != (None, None, None)
9 ):
10 exc_type, exc_value, exc_traceback = record.exc_info
11 assert exc_type is not None
12 assert exc_value is not None
13 traceback = Traceback.from_exception(
14 exc_type,
15 exc_value,
16 exc_traceback,
17 width=self.tracebacks_width,
18 extra_lines=self.tracebacks_extra_lines,
19 theme=self.tracebacks_theme,
20 word_wrap=self.tracebacks_word_wrap,
21 show_locals=self.tracebacks_show_locals,
22 locals_max_length=self.locals_max_length,
23 locals_max_string=self.locals_max_string,
24 suppress=self.tracebacks_suppress,
25 )
26 message = record.getMessage()
27 if self.formatter:
28 record.message = record.getMessage()
29 formatter = self.formatter
30 if hasattr(formatter, "usesTime") and formatter.usesTime():
31 record.asctime = formatter.formatTime(record, formatter.datefmt)
32 message = formatter.formatMessage(record)
33
34 message_renderable = self.render_message(record, message)
35 log_renderable = self.render(
36 record=record, traceback=traceback, message_renderable=message_renderable
37 )
38 if isinstance(self.console.file, NullFile):
39 # Handles pythonw, where stdout/stderr are null, and we return NullFile
40 # instance from Console.file. In this case, we still want to make a log record
41 # even though we won't be writing anything to a file.
42 self.handleError(record)
43 else:
44 try:
45 self.console.print(log_renderable)
46 except Exception:
47 self.handleError(record)
Path 5: 1 calls (0.06)
LogRecord (1)
1def emit(self, record: LogRecord) -> None:
2 """Invoked by logging."""
3 message = self.format(record)
4 traceback = None
5 if (
6 self.rich_tracebacks
7 and record.exc_info
8 and record.exc_info != (None, None, None)
9 ):
10 exc_type, exc_value, exc_traceback = record.exc_info
11 assert exc_type is not None
12 assert exc_value is not None
13 traceback = Traceback.from_exception(
14 exc_type,
15 exc_value,
16 exc_traceback,
17 width=self.tracebacks_width,
18 extra_lines=self.tracebacks_extra_lines,
19 theme=self.tracebacks_theme,
20 word_wrap=self.tracebacks_word_wrap,
21 show_locals=self.tracebacks_show_locals,
22 locals_max_length=self.locals_max_length,
23 locals_max_string=self.locals_max_string,
24 suppress=self.tracebacks_suppress,
25 )
26 message = record.getMessage()
27 if self.formatter:
28 record.message = record.getMessage()
29 formatter = self.formatter
30 if hasattr(formatter, "usesTime") and formatter.usesTime():
31 record.asctime = formatter.formatTime(record, formatter.datefmt)
32 message = formatter.formatMessage(record)
33
34 message_renderable = self.render_message(record, message)
35 log_renderable = self.render(
36 record=record, traceback=traceback, message_renderable=message_renderable
37 )
38 if isinstance(self.console.file, NullFile):
39 # Handles pythonw, where stdout/stderr are null, and we return NullFile
40 # instance from Console.file. In this case, we still want to make a log record
41 # even though we won't be writing anything to a file.
42 self.handleError(record)
43 else:
44 try:
45 self.console.print(log_renderable)
46 except Exception:
47 self.handleError(record)