{"title":"Loggning","version":"5.2","locale":"sv","docname":"ref/logging","url":"/sv/5.2/ref/logging/","canonical":"https://djangodocs.dev/sv/5.2/ref/logging/","summary":"Se även loggning - hur man gör Django loggningsöversikt Djangos loggningsmodul utökar Pythons inbyggda logging . Loggning konfigureras som en del av den allmänna…","html":"<span id=\"logging-ref\"></span><h1>Loggning<a class=\"heading-anchor\" href=\"#logging\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h1>\n<aside class=\"admonition admonition-seealso\">\n<p class=\"admonition-title\">Se även</p>\n<ul class=\"simple\">\n<li><p><span class=\"xref std std-ref\">loggning - hur man gör</span></p></li>\n<li><p><a class=\"reference internal\" href=\"/sv/5.2/topics/logging/#logging-explanation\"><span class=\"std std-ref\">Django loggningsöversikt</span></a></p></li>\n</ul>\n</aside>\n<p id=\"module-django.utils.log\">Djangos loggningsmodul utökar Pythons inbyggda <a class=\"reference external\" href=\"https://docs.python.org/3/library/logging.html#module-logging\" title=\"(in Python v3.14)\"><code class=\"xref py py-mod docutils literal notranslate\"><span class=\"pre\">logging</span></code></a>.</p>\n<p>Loggning konfigureras som en del av den allmänna Django <a class=\"reference internal\" href=\"/sv/5.2/ref/applications/#django.setup\" title=\"django.setup\"><code class=\"xref py py-func docutils literal notranslate\"><span class=\"pre\">django.setup()</span></code></a>-funktionen, så den är alltid tillgänglig om den inte uttryckligen inaktiveras.</p>\n<section id=\"django-s-default-logging-configuration\">\n<span id=\"default-logging-configuration\"></span><h2>Djangos standardkonfiguration för loggning<a class=\"heading-anchor\" href=\"#django-s-default-logging-configuration\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Som standard använder Django Pythons <a class=\"reference external\" href=\"https://docs.python.org/3/library/logging.config.html#logging-config-dictschema\" title=\"(in Python v3.14)\"><span class=\"xref std std-ref\">logging.config.dictConfig-format</span></a>.</p>\n<section id=\"default-logging-conditions\">\n<h3>Standardvillkor för loggning<a class=\"heading-anchor\" href=\"#default-logging-conditions\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>Den fullständiga uppsättningen standardvillkor för loggning är:</p>\n<p>När <a class=\"reference internal\" href=\"/sv/5.2/ref/settings/#std-setting-DEBUG\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">DEBUG</span></code></a> är <code class=\"docutils literal notranslate\"><span class=\"pre\">True</span></code>:</p>\n<ul class=\"simple\">\n<li><p>Loggern <code class=\"docutils literal notranslate\"><span class=\"pre\">django</span></code> skickar meddelanden i hierarkin <code class=\"docutils literal notranslate\"><span class=\"pre\">django</span></code> (utom <code class=\"docutils literal notranslate\"><span class=\"pre\">django.server</span></code>) på nivån <code class=\"docutils literal notranslate\"><span class=\"pre\">INFO</span></code> eller högre till konsolen.</p></li>\n</ul>\n<p>När <a class=\"reference internal\" href=\"/sv/5.2/ref/settings/#std-setting-DEBUG\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">DEBUG</span></code></a> är <code class=\"docutils literal notranslate\"><span class=\"pre\">False</span></code>:</p>\n<ul class=\"simple\">\n<li><p>Loggern <code class=\"docutils literal notranslate\"><span class=\"pre\">django</span></code> skickar meddelanden i <code class=\"docutils literal notranslate\"><span class=\"pre\">django</span></code> hierarkin (utom <code class=\"docutils literal notranslate\"><span class=\"pre\">django.server</span></code>) med <code class=\"docutils literal notranslate\"><span class=\"pre\">ERROR</span></code> eller <code class=\"docutils literal notranslate\"><span class=\"pre\">CRITICAL</span></code> nivå till <a class=\"reference internal\" href=\"#django.utils.log.AdminEmailHandler\" title=\"django.utils.log.AdminEmailHandler\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">AdminEmailHandler</span></code></a>.</p></li>\n</ul>\n<p>Oberoende av värdet på <a class=\"reference internal\" href=\"/sv/5.2/ref/settings/#std-setting-DEBUG\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">DEBUG</span></code></a>:</p>\n<ul class=\"simple\">\n<li><p>Loggern <a class=\"reference internal\" href=\"#django-server-logger\"><span class=\"std std-ref\">django.server</span></a> skickar meddelanden på nivån <code class=\"docutils literal notranslate\"><span class=\"pre\">INFO</span></code> eller högre till konsolen.</p></li>\n</ul>\n<p>Alla loggrar utom <a class=\"reference internal\" href=\"#django-server-logger\"><span class=\"std std-ref\">django.server</span></a> sprider loggning till sina föräldrar, upp till roten <code class=\"docutils literal notranslate\"><span class=\"pre\">django</span></code> logger. Hanterarna <code class=\"docutils literal notranslate\"><span class=\"pre\">console</span></code> och <code class=\"docutils literal notranslate\"><span class=\"pre\">mail_admins</span></code> är kopplade till rotloggern för att ge det beteende som beskrivs ovan.</p>\n<p>Pythons egna standardinställningar skickar poster av nivån <code class=\"docutils literal notranslate\"><span class=\"pre\">WARNING</span></code> och högre till konsolen.</p>\n</section>\n<section id=\"default-logging-definition\">\n<span id=\"id1\"></span><h3>Standard loggningsdefinition<a class=\"heading-anchor\" href=\"#default-logging-definition\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>Djangos standardkonfiguration för loggning ärver Pythons standardvärden. Den är tillgänglig som <code class=\"docutils literal notranslate\"><span class=\"pre\">django.utils.log.DEFAULT_LOGGING</span></code> och definieras i <a class=\"extlink-source reference external\" href=\"https://github.com/django/django/blob/stable/5.2.x/django/utils/log.py\">django/utils/log.py</a>:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"p\">{</span>\n    <span class=\"s2\">&quot;version&quot;</span><span class=\"p\">:</span> <span class=\"mi\">1</span><span class=\"p\">,</span>\n    <span class=\"s2\">&quot;disable_existing_loggers&quot;</span><span class=\"p\">:</span> <span class=\"kc\">False</span><span class=\"p\">,</span>\n    <span class=\"s2\">&quot;filters&quot;</span><span class=\"p\">:</span> <span class=\"p\">{</span>\n        <span class=\"s2\">&quot;require_debug_false&quot;</span><span class=\"p\">:</span> <span class=\"p\">{</span>\n            <span class=\"s2\">&quot;()&quot;</span><span class=\"p\">:</span> <span class=\"s2\">&quot;django.utils.log.RequireDebugFalse&quot;</span><span class=\"p\">,</span>\n        <span class=\"p\">},</span>\n        <span class=\"s2\">&quot;require_debug_true&quot;</span><span class=\"p\">:</span> <span class=\"p\">{</span>\n            <span class=\"s2\">&quot;()&quot;</span><span class=\"p\">:</span> <span class=\"s2\">&quot;django.utils.log.RequireDebugTrue&quot;</span><span class=\"p\">,</span>\n        <span class=\"p\">},</span>\n    <span class=\"p\">},</span>\n    <span class=\"s2\">&quot;formatters&quot;</span><span class=\"p\">:</span> <span class=\"p\">{</span>\n        <span class=\"s2\">&quot;django.server&quot;</span><span class=\"p\">:</span> <span class=\"p\">{</span>\n            <span class=\"s2\">&quot;()&quot;</span><span class=\"p\">:</span> <span class=\"s2\">&quot;django.utils.log.ServerFormatter&quot;</span><span class=\"p\">,</span>\n            <span class=\"s2\">&quot;format&quot;</span><span class=\"p\">:</span> <span class=\"s2\">&quot;[</span><span class=\"si\">{server_time}</span><span class=\"s2\">] </span><span class=\"si\">{message}</span><span class=\"s2\">&quot;</span><span class=\"p\">,</span>\n            <span class=\"s2\">&quot;style&quot;</span><span class=\"p\">:</span> <span class=\"s2\">&quot;{&quot;</span><span class=\"p\">,</span>\n        <span class=\"p\">}</span>\n    <span class=\"p\">},</span>\n    <span class=\"s2\">&quot;handlers&quot;</span><span class=\"p\">:</span> <span class=\"p\">{</span>\n        <span class=\"s2\">&quot;console&quot;</span><span class=\"p\">:</span> <span class=\"p\">{</span>\n            <span class=\"s2\">&quot;level&quot;</span><span class=\"p\">:</span> <span class=\"s2\">&quot;INFO&quot;</span><span class=\"p\">,</span>\n            <span class=\"s2\">&quot;filters&quot;</span><span class=\"p\">:</span> <span class=\"p\">[</span><span class=\"s2\">&quot;require_debug_true&quot;</span><span class=\"p\">],</span>\n            <span class=\"s2\">&quot;class&quot;</span><span class=\"p\">:</span> <span class=\"s2\">&quot;logging.StreamHandler&quot;</span><span class=\"p\">,</span>\n        <span class=\"p\">},</span>\n        <span class=\"s2\">&quot;django.server&quot;</span><span class=\"p\">:</span> <span class=\"p\">{</span>\n            <span class=\"s2\">&quot;level&quot;</span><span class=\"p\">:</span> <span class=\"s2\">&quot;INFO&quot;</span><span class=\"p\">,</span>\n            <span class=\"s2\">&quot;class&quot;</span><span class=\"p\">:</span> <span class=\"s2\">&quot;logging.StreamHandler&quot;</span><span class=\"p\">,</span>\n            <span class=\"s2\">&quot;formatter&quot;</span><span class=\"p\">:</span> <span class=\"s2\">&quot;django.server&quot;</span><span class=\"p\">,</span>\n        <span class=\"p\">},</span>\n        <span class=\"s2\">&quot;mail_admins&quot;</span><span class=\"p\">:</span> <span class=\"p\">{</span>\n            <span class=\"s2\">&quot;level&quot;</span><span class=\"p\">:</span> <span class=\"s2\">&quot;ERROR&quot;</span><span class=\"p\">,</span>\n            <span class=\"s2\">&quot;filters&quot;</span><span class=\"p\">:</span> <span class=\"p\">[</span><span class=\"s2\">&quot;require_debug_false&quot;</span><span class=\"p\">],</span>\n            <span class=\"s2\">&quot;class&quot;</span><span class=\"p\">:</span> <span class=\"s2\">&quot;django.utils.log.AdminEmailHandler&quot;</span><span class=\"p\">,</span>\n        <span class=\"p\">},</span>\n    <span class=\"p\">},</span>\n    <span class=\"s2\">&quot;loggers&quot;</span><span class=\"p\">:</span> <span class=\"p\">{</span>\n        <span class=\"s2\">&quot;django&quot;</span><span class=\"p\">:</span> <span class=\"p\">{</span>\n            <span class=\"s2\">&quot;handlers&quot;</span><span class=\"p\">:</span> <span class=\"p\">[</span><span class=\"s2\">&quot;console&quot;</span><span class=\"p\">,</span> <span class=\"s2\">&quot;mail_admins&quot;</span><span class=\"p\">],</span>\n            <span class=\"s2\">&quot;level&quot;</span><span class=\"p\">:</span> <span class=\"s2\">&quot;INFO&quot;</span><span class=\"p\">,</span>\n        <span class=\"p\">},</span>\n        <span class=\"s2\">&quot;django.server&quot;</span><span class=\"p\">:</span> <span class=\"p\">{</span>\n            <span class=\"s2\">&quot;handlers&quot;</span><span class=\"p\">:</span> <span class=\"p\">[</span><span class=\"s2\">&quot;django.server&quot;</span><span class=\"p\">],</span>\n            <span class=\"s2\">&quot;level&quot;</span><span class=\"p\">:</span> <span class=\"s2\">&quot;INFO&quot;</span><span class=\"p\">,</span>\n            <span class=\"s2\">&quot;propagate&quot;</span><span class=\"p\">:</span> <span class=\"kc\">False</span><span class=\"p\">,</span>\n        <span class=\"p\">},</span>\n    <span class=\"p\">},</span>\n<span class=\"p\">}</span>\n</code></pre></div>\n<p>Se <a class=\"reference internal\" href=\"/sv/5.2/topics/logging/#configuring-logging\"><span class=\"std std-ref\">Konfigurera loggning</span></a> om hur du kompletterar eller ersätter denna standardkonfiguration för loggning.</p>\n</section>\n</section>\n<section id=\"django-logging-extensions\">\n<h2>Django loggningstillägg<a class=\"heading-anchor\" href=\"#django-logging-extensions\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Django tillhandahåller ett antal verktyg för att hantera de särskilda krav som ställs på loggning i en webbservermiljö.</p>\n<section id=\"loggers\">\n<h3>Loggers<a class=\"heading-anchor\" href=\"#loggers\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>Django tillhandahåller flera inbyggda loggrar.</p>\n<section id=\"django\">\n<span id=\"django-logger\"></span><h4><code class=\"docutils literal notranslate\"><span class=\"pre\">django</span></code><a class=\"heading-anchor\" href=\"#django\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<p>Den överordnade loggern för meddelanden i <code class=\"docutils literal notranslate\"><span class=\"pre\">django</span></code> <a class=\"reference internal\" href=\"/sv/5.2/howto/logging/#naming-loggers-hierarchy\"><span class=\"std std-ref\">named logger hierarchy</span></a>. Django postar inte meddelanden med detta namn. Istället använder den en av loggrarna nedan.</p>\n</section>\n<section id=\"django-request\">\n<span id=\"django-request-logger\"></span><h4><code class=\"docutils literal notranslate\"><span class=\"pre\">django.begäran</span></code><a class=\"heading-anchor\" href=\"#django-request\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<p>Loggmeddelanden relaterade till hanteringen av förfrågningar. 5XX-svar tas upp som <code class=\"docutils literal notranslate\"><span class=\"pre\">ERROR</span></code>-meddelanden; 4XX-svar tas upp som <code class=\"docutils literal notranslate\"><span class=\"pre\">WARNING</span></code>-meddelanden. Förfrågningar som loggas till loggern <code class=\"docutils literal notranslate\"><span class=\"pre\">django.security</span></code> loggas inte till <code class=\"docutils literal notranslate\"><span class=\"pre\">django.request</span></code>.</p>\n<p>Meddelanden till denna logger har följande extra sammanhang:</p>\n<ul class=\"simple\">\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">status_code</span></code>: Den HTTP-svarskod som är kopplad till begäran.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">begäran</span></code>: Det request-objekt som genererade logningsmeddelandet.</p></li>\n</ul>\n</section>\n<section id=\"django-server\">\n<span id=\"django-server-logger\"></span><h4><code class=\"docutils literal notranslate\"><span class=\"pre\">django.server</span></code><a class=\"heading-anchor\" href=\"#django-server\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<p>Loggar meddelanden relaterade till hanteringen av förfrågningar som tas emot av den server som anropas med kommandot <a class=\"reference internal\" href=\"/sv/5.2/ref/django-admin/#django-admin-runserver\"><code class=\"xref std std-djadmin docutils literal notranslate\"><span class=\"pre\">runserver</span></code></a>. HTTP 5XX-svar loggas som <code class=\"docutils literal notranslate\"><span class=\"pre\">ERROR</span></code>-meddelanden, 4XX-svar loggas som <code class=\"docutils literal notranslate\"><span class=\"pre\">WARNING</span></code>-meddelanden och allt annat loggas som <code class=\"docutils literal notranslate\"><span class=\"pre\">INFO</span></code>.</p>\n<p>Meddelanden till denna logger har följande extra sammanhang:</p>\n<ul class=\"simple\">\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">status_code</span></code>: Den HTTP-svarskod som är kopplad till begäran.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">begäran</span></code>: Det request-objekt (en <a class=\"reference external\" href=\"https://docs.python.org/3/library/socket.html#socket.socket\" title=\"(in Python v3.14)\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">socket.socket</span></code></a>) som genererade logningsmeddelandet.</p></li>\n</ul>\n</section>\n<section id=\"django-template\">\n<span id=\"django-template-logger\"></span><h4><code class=\"docutils literal notranslate\"><span class=\"pre\">django.mall</span></code><a class=\"heading-anchor\" href=\"#django-template\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<p>Loggar meddelanden relaterade till rendering av mallar.</p>\n<ul class=\"simple\">\n<li><p>Saknade kontextvariabler loggas som <code class=\"docutils literal notranslate\"><span class=\"pre\">DEBUG</span></code>-meddelanden.</p></li>\n</ul>\n</section>\n<section id=\"django-db-backends\">\n<span id=\"django-db-logger\"></span><h4><code class=\"docutils literal notranslate\"><span class=\"pre\">django.db.backends</span></code><a class=\"heading-anchor\" href=\"#django-db-backends\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<p>Meddelanden som rör kodens interaktion med databasen. Till exempel: loggas varje SQL-sats på applikationsnivå som körs av en begäran på nivån <code class=\"docutils literal notranslate\"><span class=\"pre\">DEBUG</span></code> till denna logger.</p>\n<p>Meddelanden till denna logger har följande extra sammanhang:</p>\n<ul class=\"simple\">\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">duration</span></code>: Den tid det tar att utföra SQL-satsen.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">sql</span></code>: Den SQL-sats som kördes.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">params</span></code>: De parametrar som användes i SQL-anropet.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">alias</span></code>: Aliaset för den databas som används i SQL-anropet.</p></li>\n</ul>\n<p>Av prestandaskäl aktiveras SQL-loggning endast när <code class=\"docutils literal notranslate\"><span class=\"pre\">settings.DEBUG</span></code> är inställd på <code class=\"docutils literal notranslate\"><span class=\"pre\">True</span></code>, oavsett vilken loggningsnivå eller hanterare som är installerad.</p>\n<p>Denna loggning omfattar inte initialisering på ramnivå (t.ex. <code class=\"docutils literal notranslate\"><span class=\"pre\">SET</span> <span class=\"pre\">TIMEZONE</span></code>). Slå på frågeloggning i din databas om du vill visa alla databasfrågor.</p>\n</section>\n<section id=\"django-utils-autoreload\">\n<span id=\"django-utils-autoreloader-logger\"></span><h4><code class=\"docutils literal notranslate\"><span class=\"pre\">django.utils.autoreload</span></code><a class=\"heading-anchor\" href=\"#django-utils-autoreload\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<p>Loggar meddelanden relaterade till automatisk kodomladdning under körning av Django-utvecklingsservern. Denna logger genererar ett <code class=\"docutils literal notranslate\"><span class=\"pre\">INFO</span></code>-meddelande när den upptäcker en ändring i en källkodsfil och kan producera <code class=\"docutils literal notranslate\"><span class=\"pre\">VARNING</span></code>-meddelanden under filsysteminspektion och händelseprenumerationsprocesser.</p>\n</section>\n<section id=\"django-contrib-auth\">\n<span id=\"django-contrib-auth-logger\"></span><h4><code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.auth</span></code><a class=\"heading-anchor\" href=\"#django-contrib-auth\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<aside class=\"version-note version-added\" data-version=\"4.2.16\">\n<p class=\"version-note-title\">New in Django 4.2.16</p></aside>\n<p>Loggmeddelanden relaterade till <a class=\"reference internal\" href=\"/sv/5.2/ref/contrib/auth/\"><span class=\"doc\">django.contrib.auth</span></a>, särskilt <code class=\"docutils literal notranslate\"><span class=\"pre\">ERROR</span></code>-meddelanden genereras när en <a class=\"reference internal\" href=\"/sv/5.2/topics/auth/default/#django.contrib.auth.forms.PasswordResetForm\" title=\"django.contrib.auth.forms.PasswordResetForm\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">PasswordResetForm</span></code></a> skickas in men e-postmeddelandet om lösenordsåterställning inte kan levereras på grund av ett undantag för e-postsändning.</p>\n</section>\n<section id=\"django-contrib-gis\">\n<span id=\"django-contrib-gis-logger\"></span><h4><code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.gis</span></code><a class=\"heading-anchor\" href=\"#django-contrib-gis\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<p>Loggmeddelanden relaterade till <a class=\"reference internal\" href=\"/sv/5.2/ref/contrib/gis/\"><span class=\"doc\">GeoDjango</span></a> vid olika tidpunkter: under inläsning av externa geospatiala bibliotek (GEOS, GDAL, etc.) och vid felrapportering. Varje <code class=\"docutils literal notranslate\"><span class=\"pre\">ERROR</span></code>-loggpost innehåller undantaget och relevanta kontextuella data.</p>\n</section>\n<section id=\"django-dispatch\">\n<span id=\"django-dispatch-logger\"></span><h4><code class=\"docutils literal notranslate\"><span class=\"pre\">django.dispatch</span></code><a class=\"heading-anchor\" href=\"#django-dispatch\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<p>Denna logger används i <a class=\"reference internal\" href=\"/sv/5.2/ref/signals/\"><span class=\"doc\">Signaler</span></a>, specifikt inom <a class=\"reference internal\" href=\"/sv/5.2/topics/signals/#django.dispatch.Signal\" title=\"django.dispatch.Signal\"><code class=\"xref py py-mod docutils literal notranslate\"><span class=\"pre\">Signal</span></code></a>-klassen, för att rapportera problem när en signal skickas till en ansluten mottagare. Loggposten <code class=\"docutils literal notranslate\"><span class=\"pre\">ERROR</span></code> innehåller det fångade undantaget som <code class=\"docutils literal notranslate\"><span class=\"pre\">exc_info</span></code> och lägger till följande extra sammanhang:</p>\n<ul class=\"simple\">\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">mottagare</span></code>: Namnet på mottagaren.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">err</span></code>: Det undantag som inträffade när mottagaren anropades.</p></li>\n</ul>\n</section>\n<section id=\"django-security\">\n<span id=\"django-security-logger\"></span><h4><code class=\"docutils literal notranslate\"><span class=\"pre\">django.security.*</span></code><a class=\"heading-anchor\" href=\"#django-security\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<p>Säkerhetsloggarna kommer att ta emot meddelanden om alla förekomster av <a class=\"reference internal\" href=\"/sv/5.2/ref/exceptions/#django.core.exceptions.SuspiciousOperation\" title=\"django.core.exceptions.SuspiciousOperation\"><code class=\"xref py py-exc docutils literal notranslate\"><span class=\"pre\">SuspiciousOperation</span></code></a> och andra säkerhetsrelaterade fel. Det finns en underlogger för varje undertyp av säkerhetsfel, inklusive alla <code class=\"docutils literal notranslate\"><span class=\"pre\">SuspiciousOperation</span></code>. Logghändelsens nivå beror på var undantaget hanteras.  De flesta förekomster loggas som en varning, medan alla <code class=\"docutils literal notranslate\"><span class=\"pre\">SuspiciousOperation</span></code> som når WSGI-hanteraren loggas som ett fel. Till exempel:, när en HTTP <code class=\"docutils literal notranslate\"><span class=\"pre\">Host</span></code> header ingår i en begäran från en klient som inte matchar <a class=\"reference internal\" href=\"/sv/5.2/ref/settings/#std-setting-ALLOWED_HOSTS\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">ALLOWED_HOSTS</span></code></a>, kommer Django att returnera ett 400-svar, och ett felmeddelande kommer att loggas till <code class=\"docutils literal notranslate\"><span class=\"pre\">django.security.DisallowedHost</span></code> logger.</p>\n<p>Dessa logghändelser kommer att nå <code class=\"docutils literal notranslate\"><span class=\"pre\">django</span></code> logger som standard, som skickar felhändelser till administratörer när <code class=\"docutils literal notranslate\"><span class=\"pre\">DEBUG=False</span></code>. Förfrågningar som resulterar i ett 400-svar på grund av en <code class=\"docutils literal notranslate\"><span class=\"pre\">SuspiciousOperation</span></code> kommer inte att loggas till <code class=\"docutils literal notranslate\"><span class=\"pre\">django.request</span></code>-loggern, utan endast till <code class=\"docutils literal notranslate\"><span class=\"pre\">django.security</span></code>-loggern.</p>\n<p>För att tysta en viss typ av <code class=\"docutils literal notranslate\"><span class=\"pre\">SuspiciousOperation</span></code> kan du åsidosätta den specifika loggern enligt följande exempel:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"n\">LOGGING</span> <span class=\"o\">=</span> <span class=\"p\">{</span>\n    <span class=\"c1\"># ...</span>\n    <span class=\"s2\">&quot;handlers&quot;</span><span class=\"p\">:</span> <span class=\"p\">{</span>\n        <span class=\"s2\">&quot;null&quot;</span><span class=\"p\">:</span> <span class=\"p\">{</span>\n            <span class=\"s2\">&quot;class&quot;</span><span class=\"p\">:</span> <span class=\"s2\">&quot;logging.NullHandler&quot;</span><span class=\"p\">,</span>\n        <span class=\"p\">},</span>\n    <span class=\"p\">},</span>\n    <span class=\"s2\">&quot;loggers&quot;</span><span class=\"p\">:</span> <span class=\"p\">{</span>\n        <span class=\"s2\">&quot;django.security.DisallowedHost&quot;</span><span class=\"p\">:</span> <span class=\"p\">{</span>\n            <span class=\"s2\">&quot;handlers&quot;</span><span class=\"p\">:</span> <span class=\"p\">[</span><span class=\"s2\">&quot;null&quot;</span><span class=\"p\">],</span>\n            <span class=\"s2\">&quot;propagate&quot;</span><span class=\"p\">:</span> <span class=\"kc\">False</span><span class=\"p\">,</span>\n        <span class=\"p\">},</span>\n    <span class=\"p\">},</span>\n    <span class=\"c1\"># ...</span>\n<span class=\"p\">}</span>\n</code></pre></div>\n<p>Andra <code class=\"docutils literal notranslate\"><span class=\"pre\">django.security</span></code> loggrar som inte är baserade på <code class=\"docutils literal notranslate\"><span class=\"pre\">SuspiciousOperation</span></code> är:</p>\n<ul class=\"simple\">\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.security.csrf</span></code>: För <a class=\"reference internal\" href=\"/sv/5.2/howto/csrf/#csrf-rejected-requests\"><span class=\"std std-ref\">CSRF-fel</span></a>.</p></li>\n</ul>\n</section>\n<section id=\"django-db-backends-schema\">\n<h4><code class=\"docutils literal notranslate\"><span class=\"pre\">django.db.backends.schema</span></code><a class=\"heading-anchor\" href=\"#django-db-backends-schema\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<p>Loggar de SQL-frågor som körs under schemaändringar i databasen av <a class=\"reference internal\" href=\"/sv/5.2/topics/migrations/\"><span class=\"doc\">migrations framework</span></a>. Observera att den inte kommer att logga de frågor som körs av <a class=\"reference internal\" href=\"/sv/5.2/ref/migration-operations/#django.db.migrations.operations.RunPython\" title=\"django.db.migrations.operations.RunPython\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">RunPython</span></code></a>. Meddelanden till den här loggern har <code class=\"docutils literal notranslate\"><span class=\"pre\">params</span></code> och <code class=\"docutils literal notranslate\"><span class=\"pre\">sql</span></code> i sitt extra sammanhang (men till skillnad från <code class=\"docutils literal notranslate\"><span class=\"pre\">django.db.backends</span></code>, inte varaktighet). Värdena har samma betydelse som förklaras i <a class=\"reference internal\" href=\"#django-db-logger\"><span class=\"std std-ref\">django.db.backends</span></a>.</p>\n</section>\n<section id=\"django-contrib-sessions\">\n<span id=\"django-contrib-sessions-logger\"></span><h4><code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.sessions</span></code><a class=\"heading-anchor\" href=\"#django-contrib-sessions\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<p>Loggar meddelanden relaterade till <a class=\"reference internal\" href=\"/sv/5.2/topics/http/sessions/\"><span class=\"doc\">session framework</span></a>.</p>\n<ul class=\"simple\">\n<li><p>Icke-fatala fel som uppstår när man använder <a class=\"reference internal\" href=\"/sv/5.2/topics/http/sessions/#django.contrib.sessions.backends.cached_db.SessionStore\" title=\"django.contrib.sessions.backends.cached_db.SessionStore\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">django.contrib.sessions.backends.cached_db.SessionStore</span></code></a>-motorn loggas som <code class=\"docutils literal notranslate\"><span class=\"pre\">ERROR</span></code>-meddelanden med motsvarande traceback.</p></li>\n</ul>\n</section>\n</section>\n<section id=\"handlers\">\n<h3>Handläggare<a class=\"heading-anchor\" href=\"#handlers\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>Django tillhandahåller en logghantering utöver <a class=\"reference external\" href=\"https://docs.python.org/3/library/logging.handlers.html#module-logging.handlers\" title=\"(in Python v3.14)\"><code class=\"xref py py-mod docutils literal notranslate\"><span class=\"pre\">de</span> <span class=\"pre\">som</span> <span class=\"pre\">tillhandahålls</span> <span class=\"pre\">av</span> <span class=\"pre\">Pythons</span> <span class=\"pre\">loggmodul</span></code></a>.</p>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.utils.log.AdminEmailHandler\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">AdminEmailHandler</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">include_html</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">False</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">email_backend</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">reporter_class</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.utils.log.AdminEmailHandler\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Denna hanterare skickar ett e-postmeddelande till webbplatsen <a class=\"reference internal\" href=\"/sv/5.2/ref/settings/#std-setting-ADMINS\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">ADMINS</span></code></a> för varje loggmeddelande den tar emot.</p>\n<p>Om loggposten innehåller attributet <code class=\"docutils literal notranslate\"><span class=\"pre\">request</span></code> kommer alla detaljer om begäran att inkluderas i e-postmeddelandet. Ämnet i e-postmeddelandet kommer att innehålla frasen ”internal IP” om klientens IP-adress finns i inställningen <a class=\"reference internal\" href=\"/sv/5.2/ref/settings/#std-setting-INTERNAL_IPS\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">INTERNAL_IPS</span></code></a>; om så inte är fallet kommer det att innehålla ”EXTERNAL IP”.</p>\n<p>Om loggposten innehåller stackspårningsinformation kommer denna stackspårning att inkluderas i e-postmeddelandet.</p>\n<p>Argumentet <code class=\"docutils literal notranslate\"><span class=\"pre\">include_html</span></code> i <code class=\"docutils literal notranslate\"><span class=\"pre\">AdminEmailHandler</span></code> används för att kontrollera om spårningsmailet innehåller en HTML-bilaga som innehåller hela innehållet på debug-webbsidan som skulle ha producerats om <a class=\"reference internal\" href=\"/sv/5.2/ref/settings/#std-setting-DEBUG\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">DEBUG</span></code></a> var <code class=\"docutils literal notranslate\"><span class=\"pre\">True</span></code>. För att ställa in detta värde i din konfiguration, inkludera det i hanterardefinitionen för <code class=\"docutils literal notranslate\"><span class=\"pre\">django.utils.log.AdminEmailHandler</span></code>, så här:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"s2\">&quot;handlers&quot;</span><span class=\"p\">:</span> <span class=\"p\">{</span>\n    <span class=\"s2\">&quot;mail_admins&quot;</span><span class=\"p\">:</span> <span class=\"p\">{</span>\n        <span class=\"s2\">&quot;level&quot;</span><span class=\"p\">:</span> <span class=\"s2\">&quot;ERROR&quot;</span><span class=\"p\">,</span>\n        <span class=\"s2\">&quot;class&quot;</span><span class=\"p\">:</span> <span class=\"s2\">&quot;django.utils.log.AdminEmailHandler&quot;</span><span class=\"p\">,</span>\n        <span class=\"s2\">&quot;include_html&quot;</span><span class=\"p\">:</span> <span class=\"kc\">True</span><span class=\"p\">,</span>\n    <span class=\"p\">},</span>\n<span class=\"p\">}</span>\n</code></pre></div>\n<p>Var medveten om <a class=\"reference internal\" href=\"/sv/5.2/topics/logging/#logging-security-implications\"><span class=\"std std-ref\">säkerhetskonsekvenserna av loggning</span></a> när du använder <code class=\"docutils literal notranslate\"><span class=\"pre\">AdminEmailHandler</span></code>.</p>\n<p>Genom att ställa in argumentet <code class=\"docutils literal notranslate\"><span class=\"pre\">email_backend</span></code> i <code class=\"docutils literal notranslate\"><span class=\"pre\">AdminEmailHandler</span></code> kan <span class=\"xref std std-ref\">email backend &lt;topic-email-backends&gt;`</span> som används av hanteraren åsidosättas, så här:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"s2\">&quot;handlers&quot;</span><span class=\"p\">:</span> <span class=\"p\">{</span>\n    <span class=\"s2\">&quot;mail_admins&quot;</span><span class=\"p\">:</span> <span class=\"p\">{</span>\n        <span class=\"s2\">&quot;level&quot;</span><span class=\"p\">:</span> <span class=\"s2\">&quot;ERROR&quot;</span><span class=\"p\">,</span>\n        <span class=\"s2\">&quot;class&quot;</span><span class=\"p\">:</span> <span class=\"s2\">&quot;django.utils.log.AdminEmailHandler&quot;</span><span class=\"p\">,</span>\n        <span class=\"s2\">&quot;email_backend&quot;</span><span class=\"p\">:</span> <span class=\"s2\">&quot;django.core.mail.backends.filebased.EmailBackend&quot;</span><span class=\"p\">,</span>\n    <span class=\"p\">},</span>\n<span class=\"p\">}</span>\n</code></pre></div>\n<p>Som standard kommer en instans av den e-postbackend som anges i <a class=\"reference internal\" href=\"/sv/5.2/ref/settings/#std-setting-EMAIL_BACKEND\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">EMAIL_BACKEND</span></code></a> att användas.</p>\n<p>Argumentet <code class=\"docutils literal notranslate\"><span class=\"pre\">reporter_class</span></code> i <code class=\"docutils literal notranslate\"><span class=\"pre\">AdminEmailHandler</span></code> gör det möjligt att tillhandahålla en <code class=\"docutils literal notranslate\"><span class=\"pre\">django.views.debug.ExceptionReporter</span></code> underklass för att anpassa spårningstexten som skickas i e-postens kropp. Du anger en strängimportväg till den klass du vill använda, så här:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"s2\">&quot;handlers&quot;</span><span class=\"p\">:</span> <span class=\"p\">{</span>\n    <span class=\"s2\">&quot;mail_admins&quot;</span><span class=\"p\">:</span> <span class=\"p\">{</span>\n        <span class=\"s2\">&quot;level&quot;</span><span class=\"p\">:</span> <span class=\"s2\">&quot;ERROR&quot;</span><span class=\"p\">,</span>\n        <span class=\"s2\">&quot;class&quot;</span><span class=\"p\">:</span> <span class=\"s2\">&quot;django.utils.log.AdminEmailHandler&quot;</span><span class=\"p\">,</span>\n        <span class=\"s2\">&quot;include_html&quot;</span><span class=\"p\">:</span> <span class=\"kc\">True</span><span class=\"p\">,</span>\n        <span class=\"s2\">&quot;reporter_class&quot;</span><span class=\"p\">:</span> <span class=\"s2\">&quot;somepackage.error_reporter.CustomErrorReporter&quot;</span><span class=\"p\">,</span>\n    <span class=\"p\">},</span>\n<span class=\"p\">}</span>\n</code></pre></div>\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.utils.log.AdminEmailHandler.send_mail\">\n<span class=\"sig-name descname\"><span class=\"pre\">send_mail</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">subject</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">message</span></span></em>, <em class=\"sig-param\"><span class=\"o\"><span class=\"pre\">*</span></span><span class=\"n\"><span class=\"pre\">args</span></span></em>, <em class=\"sig-param\"><span class=\"o\"><span class=\"pre\">**</span></span><span class=\"n\"><span class=\"pre\">kwargs</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.utils.log.AdminEmailHandler.send_mail\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Skickar e-postmeddelanden till adminanvändare. För att anpassa detta beteende kan du underordna klassen <a class=\"reference internal\" href=\"#django.utils.log.AdminEmailHandler\" title=\"django.utils.log.AdminEmailHandler\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">AdminEmailHandler</span></code></a> och åsidosätta denna metod.</p>\n</dd></dl>\n\n</dd></dl>\n\n</section>\n<section id=\"filters\">\n<h3>Filter<a class=\"heading-anchor\" href=\"#filters\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>Django tillhandahåller några loggfilter utöver de som tillhandahålls av Pythons loggmodul.</p>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.utils.log.CallbackFilter\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">CallbackFilter</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">callback</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.utils.log.CallbackFilter\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Detta filter accepterar en callback-funktion (som bör acceptera ett enda argument, den post som ska loggas) och anropar den för varje post som passerar genom filtret. Hanteringen av den posten kommer inte att fortsätta om återkallandet returnerar False.</p>\n<p>Om du till exempel vill filtrera bort <a class=\"reference internal\" href=\"/sv/5.2/ref/exceptions/#django.http.UnreadablePostError\" title=\"django.http.UnreadablePostError\"><code class=\"xref py py-exc docutils literal notranslate\"><span class=\"pre\">UnreadablePostError</span></code></a> (som uppstår när en användare avbryter en uppladdning) från admin-e-postmeddelandena, skapar du en filterfunktion:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"kn\">from</span><span class=\"w\"> </span><span class=\"nn\">django.http</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">UnreadablePostError</span>\n\n\n<span class=\"k\">def</span><span class=\"w\"> </span><span class=\"nf\">skip_unreadable_post</span><span class=\"p\">(</span><span class=\"n\">record</span><span class=\"p\">):</span>\n    <span class=\"k\">if</span> <span class=\"n\">record</span><span class=\"o\">.</span><span class=\"n\">exc_info</span><span class=\"p\">:</span>\n        <span class=\"n\">exc_type</span><span class=\"p\">,</span> <span class=\"n\">exc_value</span> <span class=\"o\">=</span> <span class=\"n\">record</span><span class=\"o\">.</span><span class=\"n\">exc_info</span><span class=\"p\">[:</span><span class=\"mi\">2</span><span class=\"p\">]</span>\n        <span class=\"k\">if</span> <span class=\"nb\">isinstance</span><span class=\"p\">(</span><span class=\"n\">exc_value</span><span class=\"p\">,</span> <span class=\"n\">UnreadablePostError</span><span class=\"p\">):</span>\n            <span class=\"k\">return</span> <span class=\"kc\">False</span>\n    <span class=\"k\">return</span> <span class=\"kc\">True</span>\n</code></pre></div>\n<p>och lägg sedan till den i din loggningskonfiguration:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"n\">LOGGING</span> <span class=\"o\">=</span> <span class=\"p\">{</span>\n    <span class=\"c1\"># ...</span>\n    <span class=\"s2\">&quot;filters&quot;</span><span class=\"p\">:</span> <span class=\"p\">{</span>\n        <span class=\"s2\">&quot;skip_unreadable_posts&quot;</span><span class=\"p\">:</span> <span class=\"p\">{</span>\n            <span class=\"s2\">&quot;()&quot;</span><span class=\"p\">:</span> <span class=\"s2\">&quot;django.utils.log.CallbackFilter&quot;</span><span class=\"p\">,</span>\n            <span class=\"s2\">&quot;callback&quot;</span><span class=\"p\">:</span> <span class=\"n\">skip_unreadable_post</span><span class=\"p\">,</span>\n        <span class=\"p\">},</span>\n    <span class=\"p\">},</span>\n    <span class=\"s2\">&quot;handlers&quot;</span><span class=\"p\">:</span> <span class=\"p\">{</span>\n        <span class=\"s2\">&quot;mail_admins&quot;</span><span class=\"p\">:</span> <span class=\"p\">{</span>\n            <span class=\"s2\">&quot;level&quot;</span><span class=\"p\">:</span> <span class=\"s2\">&quot;ERROR&quot;</span><span class=\"p\">,</span>\n            <span class=\"s2\">&quot;filters&quot;</span><span class=\"p\">:</span> <span class=\"p\">[</span><span class=\"s2\">&quot;skip_unreadable_posts&quot;</span><span class=\"p\">],</span>\n            <span class=\"s2\">&quot;class&quot;</span><span class=\"p\">:</span> <span class=\"s2\">&quot;django.utils.log.AdminEmailHandler&quot;</span><span class=\"p\">,</span>\n        <span class=\"p\">},</span>\n    <span class=\"p\">},</span>\n    <span class=\"c1\"># ...</span>\n<span class=\"p\">}</span>\n</code></pre></div>\n</dd></dl>\n\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.utils.log.RequireDebugFalse\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">RequireDebugFalse</span></span><a class=\"heading-anchor\" href=\"#django.utils.log.RequireDebugFalse\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Detta filter kommer endast att skicka vidare poster när settings.DEBUG är False.</p>\n<p>Detta filter används på följande sätt i standardkonfigurationen <a class=\"reference internal\" href=\"/sv/5.2/ref/settings/#std-setting-LOGGING\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">LOGGING</span></code></a> för att säkerställa att <a class=\"reference internal\" href=\"#django.utils.log.AdminEmailHandler\" title=\"django.utils.log.AdminEmailHandler\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">AdminEmailHandler</span></code></a> endast skickar felmeddelanden till administratörer när <a class=\"reference internal\" href=\"/sv/5.2/ref/settings/#std-setting-DEBUG\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">DEBUG</span></code></a> är <code class=\"docutils literal notranslate\"><span class=\"pre\">False</span></code>:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"n\">LOGGING</span> <span class=\"o\">=</span> <span class=\"p\">{</span>\n    <span class=\"c1\"># ...</span>\n    <span class=\"s2\">&quot;filters&quot;</span><span class=\"p\">:</span> <span class=\"p\">{</span>\n        <span class=\"s2\">&quot;require_debug_false&quot;</span><span class=\"p\">:</span> <span class=\"p\">{</span>\n            <span class=\"s2\">&quot;()&quot;</span><span class=\"p\">:</span> <span class=\"s2\">&quot;django.utils.log.RequireDebugFalse&quot;</span><span class=\"p\">,</span>\n        <span class=\"p\">},</span>\n    <span class=\"p\">},</span>\n    <span class=\"s2\">&quot;handlers&quot;</span><span class=\"p\">:</span> <span class=\"p\">{</span>\n        <span class=\"s2\">&quot;mail_admins&quot;</span><span class=\"p\">:</span> <span class=\"p\">{</span>\n            <span class=\"s2\">&quot;level&quot;</span><span class=\"p\">:</span> <span class=\"s2\">&quot;ERROR&quot;</span><span class=\"p\">,</span>\n            <span class=\"s2\">&quot;filters&quot;</span><span class=\"p\">:</span> <span class=\"p\">[</span><span class=\"s2\">&quot;require_debug_false&quot;</span><span class=\"p\">],</span>\n            <span class=\"s2\">&quot;class&quot;</span><span class=\"p\">:</span> <span class=\"s2\">&quot;django.utils.log.AdminEmailHandler&quot;</span><span class=\"p\">,</span>\n        <span class=\"p\">},</span>\n    <span class=\"p\">},</span>\n    <span class=\"c1\"># ...</span>\n<span class=\"p\">}</span>\n</code></pre></div>\n</dd></dl>\n\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.utils.log.RequireDebugTrue\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">RequireDebugTrue</span></span><a class=\"heading-anchor\" href=\"#django.utils.log.RequireDebugTrue\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Detta filter liknar <a class=\"reference internal\" href=\"#django.utils.log.RequireDebugFalse\" title=\"django.utils.log.RequireDebugFalse\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">RequireDebugFalse</span></code></a>, förutom att poster endast skickas när <a class=\"reference internal\" href=\"/sv/5.2/ref/settings/#std-setting-DEBUG\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">DEBUG</span></code></a> är <code class=\"docutils literal notranslate\"><span class=\"pre\">True</span></code>.</p>\n</dd></dl>\n\n</section>\n</section>","rootId":"logging","toc":[{"title":"Djangos standardkonfiguration för loggning","anchor":"django-s-default-logging-configuration","children":[{"title":"Standardvillkor för loggning","anchor":"default-logging-conditions","children":[]},{"title":"Standard loggningsdefinition","anchor":"default-logging-definition","children":[]}]},{"title":"Django loggningstillägg","anchor":"django-logging-extensions","children":[{"title":"Loggers","anchor":"loggers","children":[{"title":"django","anchor":"django","children":[]},{"title":"django.begäran","anchor":"django-request","children":[]},{"title":"django.server","anchor":"django-server","children":[]},{"title":"django.mall","anchor":"django-template","children":[]},{"title":"django.db.backends","anchor":"django-db-backends","children":[]},{"title":"django.utils.autoreload","anchor":"django-utils-autoreload","children":[]},{"title":"django.contrib.auth","anchor":"django-contrib-auth","children":[]},{"title":"django.contrib.gis","anchor":"django-contrib-gis","children":[]},{"title":"django.dispatch","anchor":"django-dispatch","children":[]},{"title":"django.security.*","anchor":"django-security","children":[]},{"title":"django.db.backends.schema","anchor":"django-db-backends-schema","children":[]},{"title":"django.contrib.sessions","anchor":"django-contrib-sessions","children":[]}]},{"title":"Handläggare","anchor":"handlers","children":[]},{"title":"Filter","anchor":"filters","children":[]}]}],"breadcrumbs":[{"docname":"ref/index","title":"API-referens","url":"/sv/5.2/ref/"}],"prev":{"docname":"ref/forms/validation","title":"Validering av formulär och fält","url":"/sv/5.2/ref/forms/validation/"},"next":{"docname":"ref/middleware","title":"Middleware","url":"/sv/5.2/ref/middleware/"},"formats":{"html":"/sv/5.2/ref/logging/","markdown":"/sv/5.2/ref/logging.md","json":"/sv/5.2/ref/logging.json"},"source":"https://github.com/django/django/blob/stable/5.2.x/docs/ref/logging.txt","official":"https://docs.djangoproject.com/sv/5.2/ref/logging/","inVersions":["6.1","6.0","5.2"],"inLocales":["en","sv","zh-hans","ga","fr","ja","id","it","pt-br","ko","es","el","pl"]}