summaryrefslogtreecommitdiff
path: root/docs/narr
diff options
context:
space:
mode:
authorChris McDonough <chrism@plope.com>2011-01-21 01:50:46 -0500
committerChris McDonough <chrism@plope.com>2011-01-21 01:50:46 -0500
commit43ab049020d000a84c86770e9782a9964ff4167d (patch)
treee8500e44767e10c46a35c31d9872e99eeb489a7f /docs/narr
parentef2ce559d68bc1e7edd6542a3c6a0167ecdd9dc2 (diff)
downloadpyramid-43ab049020d000a84c86770e9782a9964ff4167d.tar.gz
pyramid-43ab049020d000a84c86770e9782a9964ff4167d.tar.bz2
pyramid-43ab049020d000a84c86770e9782a9964ff4167d.zip
deal with the addition of production.ini
Diffstat (limited to 'docs/narr')
-rw-r--r--docs/narr/MyProject/development.ini7
-rw-r--r--docs/narr/MyProject/production.ini63
-rw-r--r--docs/narr/project.rst33
3 files changed, 97 insertions, 6 deletions
diff --git a/docs/narr/MyProject/development.ini b/docs/narr/MyProject/development.ini
index 48fc81b8c..154e2c418 100644
--- a/docs/narr/MyProject/development.ini
+++ b/docs/narr/MyProject/development.ini
@@ -20,7 +20,7 @@ port = 6543
# Begin logging configuration
[loggers]
-keys = root
+keys = root, myproject
[handlers]
keys = console
@@ -32,6 +32,11 @@ keys = generic
level = INFO
handlers = console
+[logger_myproject]
+level = DEBUG
+handlers =
+qualname = myproject
+
[handler_console]
class = StreamHandler
args = (sys.stderr,)
diff --git a/docs/narr/MyProject/production.ini b/docs/narr/MyProject/production.ini
new file mode 100644
index 000000000..c1d0eee82
--- /dev/null
+++ b/docs/narr/MyProject/production.ini
@@ -0,0 +1,63 @@
+[app:MyProject]
+use = egg:MyProject
+reload_templates = false
+debug_authorization = false
+debug_notfound = false
+debug_routematch = false
+debug_templates = false
+default_locale_name = en
+
+[filter:weberror]
+use = egg:WebError#error_catcher
+debug = false
+;error_log =
+;show_exceptions_in_wsgi_errors = true
+;smtp_server = localhost
+;error_email = janitor@example.com
+;smtp_username = janitor
+;smtp_password = "janitor's password"
+;from_address = paste@localhost
+;error_subject_prefix = "Pyramid Error"
+;smtp_use_tls =
+;error_message =
+
+[pipeline:main]
+pipeline =
+ weberror
+ MyProject
+
+[server:main]
+use = egg:Paste#http
+host = 0.0.0.0
+port = 6543
+
+# Begin logging configuration
+
+[loggers]
+keys = root, myproject
+
+[handlers]
+keys = console
+
+[formatters]
+keys = generic
+
+[logger_root]
+level = INFO
+handlers = console
+
+[logger_myproject]
+level = INFO
+handlers =
+qualname = myproject
+
+[handler_console]
+class = StreamHandler
+args = (sys.stderr,)
+level = NOTSET
+formatter = generic
+
+[formatter_generic]
+format = %(asctime)s %(levelname)-5.5s [%(name)s][%(threadName)s] %(message)s
+
+# End logging configuration
diff --git a/docs/narr/project.rst b/docs/narr/project.rst
index f0ee91164..3b9b0cb61 100644
--- a/docs/narr/project.rst
+++ b/docs/narr/project.rst
@@ -136,10 +136,18 @@ in a directory named ``MyProject``. That directory is a :term:`project`
directory. The ``setup.py`` file in that directory can be used to distribute
your application, or install your application for deployment or development.
-A :term:`PasteDeploy` ``.ini`` file named ``development.ini`` will also be
-created in the project directory. You will use this ``.ini`` file to
-configure a server, to run your application, and to and debug your
-application.
+A :term:`PasteDeploy` ``.ini`` file named ``development.ini`` will be created
+in the project directory. You will use this ``.ini`` file to configure a
+server, to run your application, and to and debug your application. It
+sports configuration that enables an interactive debugger and settings
+optimized for development.
+
+Another :term:`PasteDeploy` ``.ini`` file named ``production.ini`` will also
+be created in the project directory. It sports configuration that disables
+any interactive debugger (to prevent inappropriate access and disclosure),
+and turns off a number of debugging settings. You can use this file to put
+your application into production, and you can modify it to do things like
+send email when an exception occurs.
The ``MyProject`` project directory contains an additional subdirectory named
``myproject`` (note the case difference) representing a Python
@@ -456,6 +464,7 @@ structure:
| | `-- mytemplate.pt
| |-- tests.py
| `-- views.py
+ |-- production.ini
|-- README.txt
|-- setup.cfg
`-- setup.py
@@ -475,7 +484,10 @@ describe, run, and test your application.
written in :term:`ReStructuredText` format.
#. ``development.ini`` is a :term:`PasteDeploy` configuration file that can
- be used to execute your application.
+ be used to execute your application during development.
+
+#. ``production.ini`` is a :term:`PasteDeploy` configuration file that can
+ be used to execute your application in a production configuration.
#. ``setup.cfg`` is a :term:`setuptools` configuration file used by
``setup.py``.
@@ -604,6 +616,17 @@ implementations.
configuration file. The values in a ``[DEFAULT]`` section will be passed
to your application's ``main`` function as ``global_values``.
+``production.ini``
+~~~~~~~~~~~~~~~~~~~
+
+The ``development.ini`` file is a :term:`PasteDeploy` configuration file with
+a purpose much like that of ``development.ini``. However, it disables the
+WebError interactive debugger, replacing it with a logger which outputs
+exception messages to ``stderr`` by default. It also turns off template
+development options such that templates are not automatically reloaded when
+changed, and turns off all debugging options. You can use this file instead
+of ``development.ini`` when you put your application into production.
+
.. index::
single: setup.py