<metaname="description" content="Logging saves error, warning and event output to persistent storage for debugging purposes. Learn more about logging on Full Stack Python.">
<ahref="http://www.hybridcluster.com/blog/logging-storytelling-3-types/">part 3 talks about types</a>.</p>
</li>
<li>
<p><ahref="https://lukasa.co.uk/2014/05/A_Brief_Digression_About_Logging/">A Brief Digression About Logging</a>
is a short post that gets Python logging up and running quickly.</p>
</li>
<li>
<p><ahref="https://hynek.me/articles/taking-some-pain-out-of-python-logging/">Taking the pain out of Python logging</a>
shows a logging set up with uWSGI.</p>
</li>
<li>
<p>Django's 1.3 release brought unified logging into project configurations.
This <ahref="http://www.djm.org.uk/how-to-log-file-django-13-and-above/">post shows how to set up logging</a>
in a project's settings.py file. Caktus Group also has a nice tutorial on
<ahref="http://www.caktusgroup.com/blog/2013/09/18/central-logging-django-graylog2-and-graypy/">central logging with graypy and Graylog2</a>.</p>
</li>
<li>
<p><ahref="http://www.caktusgroup.com/blog/2015/01/27/Django-Logging-Configuration-logging_config-default-settings-logger/">Django Logging Configuration: How the Default Settings Interfere with Yours</a>
explains a problem with the default Django logging configuration and what
to do about in your project.</p>
</li>
<li>
<p><ahref="https://www.loggly.com/blog/exceptional-logging-of-exceptions-in-python/">Exceptional Logging of Exceptions in Python</a>
shows how to log errors more accurately to pinpoint the problem instead of
receiving generic exceptions in your logs.</p>
</li>
</ul>
<h2>Logging learning checklist</h2>
<ol>
<li>
<p>Read how to integrate logging into your web application framework. </p>
</li>
<li>
<p>Ensure errors and anomalous results are logged. While these logs can be
stored in <ahref="/monitoring.html">monitoring</a> solutions, it's best to have your
own log storage location to debug issues as they arise to complement other
monitoring systems.</p>
</li>
<li>
<p>Integrate logging for system events you may need to use for debugging
purposes later. For example, you may want to know the return values on
functions when they are above a certain threshold. </p>
</li>
</ol>
<h3>What's next after setting up logging for your app?</h3>
<ahref="http://www.deploypython.com/"><imgsrc="theme/img/sponsored/fsp-deployment-guide.png" alt="The Full Stack Python Guide to Deployments" width="100%"></a>
<pstyle="font-size: .8em; margin-top: 10px;">Searching for a complete, step-by-step deployment walkthrough? Learn more about <ahref="http://www.deploypython.com/">The Full Stack Python Guide to Deployments book</a>.
</p>
</div>
</div><divclass="panel panel-success">
<divclass="panel-heading">
<h3class="panel-head"><ahref="/table-of-contents.html" style="color: #fff;">Table of Contents</a></h3>
<ahref="/about-author.html" class="list-group-item smaller-item " style='font-family: "Helvetica Neue",sans-serif;'>About the Author</a>
</div>
</div>
<divclass="panel panel-success">
<divclass="panel-body">
<ahref="http://www.deploypython.com/"><imgsrc="theme/img/sponsored/fsp-deployment-guide.png" alt="The Full Stack Python Guide to Deployments" width="100%"></a>
<pstyle="font-size: .8em; margin-top: 10px;">Searching for a complete, step-by-step deployment walkthrough? Learn more about <ahref="http://www.deploypython.com/">The Full Stack Python Guide to Deployments book</a>.