From: Alexander Bessman Date: Thu, 27 Jun 2024 21:11:40 +0000 (+0200) Subject: gh-121035: Update logging flow chart to include the lastResort handler. (GH-121036) X-Git-Tag: v3.14.0a1~1301 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=237baf4d7a789deb153fbc1fc3863550949d5da2;p=thirdparty%2FPython%2Fcpython.git gh-121035: Update logging flow chart to include the lastResort handler. (GH-121036) --- diff --git a/Doc/howto/logging.rst b/Doc/howto/logging.rst index cf5b693d8e38..316b16aa796a 100644 --- a/Doc/howto/logging.rst +++ b/Doc/howto/logging.rst @@ -382,8 +382,8 @@ Logging Flow The flow of log event information in loggers and handlers is illustrated in the following diagram. -.. image:: logging_flow.png - :class: invert-in-dark-mode +.. raw:: html + :file: logging_flow.svg Loggers ^^^^^^^ diff --git a/Doc/howto/logging_flow.png b/Doc/howto/logging_flow.png index d65e597f811d..c2d0befe2732 100644 Binary files a/Doc/howto/logging_flow.png and b/Doc/howto/logging_flow.png differ diff --git a/Doc/howto/logging_flow.svg b/Doc/howto/logging_flow.svg new file mode 100644 index 000000000000..52206bdbcf50 --- /dev/null +++ b/Doc/howto/logging_flow.svg @@ -0,0 +1,281 @@ + + + + + + + + + + + + + + Logger flow + + + + + Create + LogRecord + + + + + + + + + + + + + + + + + + Logging call in user + code, e.g. + + + logging.info(...) + + + + + + + + + Stop + + + + + + Does a filter attached + to logger reject the + record? + + + + + + + + + + Pass to + handlers of + current logger + + + + + + Is propagate true for + current logger? + + + + + + Is there a parent + logger? + + + + + + Set current + logger to parent + + + + + + At least one handler + in hierarchy? + + + + + + Use lastResort + handler + + + + + + Handler enabled for + level of LogRecord? + + + + + + Does a filter attached + to handler reject the + record? + + + + + + Stop + + + + + + Emit (includes formatting) + + + + Handler flow + + + + + Logger enabled for + level of call? + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + No + + + Yes + + + Yes + + + No + + + No + + + Yes + + + Yes + + + No + + + No + + + Yes + + + + + + No + + + + + + + + + Yes + + + No + + + + + + Yes + + + LogRecord passed + to handler + + + + + + + +