[Python-checkins] cpython (merge 3.2 -> default): Merged documentation addition from 3.2.

vinay.sajip python-checkins at python.org
Wed Nov 23 15:29:40 CET 2011


http://hg.python.org/cpython/rev/6456f8d2b2e9
changeset:   73727:6456f8d2b2e9
parent:      73724:cc6693fdf6d5
parent:      73726:71cb7ca03bc5
user:        Vinay Sajip <vinay_sajip at yahoo.co.uk>
date:        Wed Nov 23 14:29:01 2011 +0000
summary:
  Merged documentation addition from 3.2.

files:
  Doc/howto/logging-cookbook.rst |  64 ++++++++++++++++++++++
  1 files changed, 64 insertions(+), 0 deletions(-)


diff --git a/Doc/howto/logging-cookbook.rst b/Doc/howto/logging-cookbook.rst
--- a/Doc/howto/logging-cookbook.rst
+++ b/Doc/howto/logging-cookbook.rst
@@ -1038,3 +1038,67 @@
    :ref:`A basic logging tutorial <logging-basic-tutorial>`
 
    :ref:`A more advanced logging tutorial <logging-advanced-tutorial>`
+
+
+An example dictionary-based configuration
+-----------------------------------------
+
+Below is an example of a logging configuration dictionary - it's taken from
+the `documentation on the Django project <https://docs.djangoproject.com/en/1.3/topics/logging/#configuring-logging>`_.
+This dictionary is passed to :func:`~logging.config.dictConfig` to put the configuration into effect::
+
+    LOGGING = {
+        'version': 1,
+        'disable_existing_loggers': True,
+        'formatters': {
+            'verbose': {
+                'format': '%(levelname)s %(asctime)s %(module)s %(process)d %(thread)d %(message)s'
+            },
+            'simple': {
+                'format': '%(levelname)s %(message)s'
+            },
+        },
+        'filters': {
+            'special': {
+                '()': 'project.logging.SpecialFilter',
+                'foo': 'bar',
+            }
+        },
+        'handlers': {
+            'null': {
+                'level':'DEBUG',
+                'class':'django.utils.log.NullHandler',
+            },
+            'console':{
+                'level':'DEBUG',
+                'class':'logging.StreamHandler',
+                'formatter': 'simple'
+            },
+            'mail_admins': {
+                'level': 'ERROR',
+                'class': 'django.utils.log.AdminEmailHandler',
+                'filters': ['special']
+            }
+        },
+        'loggers': {
+            'django': {
+                'handlers':['null'],
+                'propagate': True,
+                'level':'INFO',
+            },
+            'django.request': {
+                'handlers': ['mail_admins'],
+                'level': 'ERROR',
+                'propagate': False,
+            },
+            'myproject.custom': {
+                'handlers': ['console', 'mail_admins'],
+                'level': 'INFO',
+                'filters': ['special']
+            }
+        }
+    }
+
+For more information about this configuration, you can see the `relevant
+section <https://docs.djangoproject.com/en/1.3/topics/logging/#configuring-logging>`_
+of the Django documentation.

-- 
Repository URL: http://hg.python.org/cpython


More information about the Python-checkins mailing list