From 0f2bd027a82ef1a5885059cde3a5ef1ae502d106 Mon Sep 17 00:00:00 2001 From: Vinay Sajip Date: Tue, 22 Jan 2013 13:10:58 +0000 Subject: [PATCH] Updated logging HOWTO with a diagram. --- Doc/howto/logging.rst | 10 ++++++++++ Doc/howto/logging_flow.png | Bin 0 -> 49648 bytes 2 files changed, 10 insertions(+) create mode 100755 Doc/howto/logging_flow.png diff --git a/Doc/howto/logging.rst b/Doc/howto/logging.rst index 666e08a7b3b..1fed52f1762 100644 --- a/Doc/howto/logging.rst +++ b/Doc/howto/logging.rst @@ -330,6 +330,9 @@ of components: loggers, handlers, filters, and formatters. to output. * Formatters specify the layout of log records in the final output. +Log event information is passed between loggers, handlers, filters and +formatters in a :class:`LogRecord` instance. + Logging is performed by calling methods on instances of the :class:`Logger` class (hereafter called :dfn:`loggers`). Each instance has a name, and they are conceptually arranged in a namespace hierarchy using dots (periods) as @@ -374,6 +377,13 @@ You can change this by passing a format string to :func:`basicConfig` with the *format* keyword argument. For all options regarding how a format string is constructed, see :ref:`formatter-objects`. +Logging Flow +^^^^^^^^^^^^ + +The flow of log event information in loggers and handlers is illustrated in the +following diagram. + +.. image:: logging_flow.png Loggers ^^^^^^^ diff --git a/Doc/howto/logging_flow.png b/Doc/howto/logging_flow.png new file mode 100755 index 0000000000000000000000000000000000000000..a88382309a18df821496c27863b17caeb68962f7 GIT binary patch literal 49648 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 hhrb6hQha#$p0l