{"title":"Loggning","version":"6.0","locale":"sv","docname":"ref/logging","url":"/sv/6.0/ref/logging/","canonical":"https://djangodocs.dev/sv/6.0/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/6.0/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/6.0/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/6.0/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/6.0/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/6.0/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/6.0.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/6.0/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/6.0/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/6.0/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\">request</span></code>: The request object (a <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>) that generated\nthe logging message.</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<p>Log messages related to <a class=\"reference internal\" href=\"/sv/6.0/ref/contrib/auth/\"><span class=\"doc\">django.contrib.auth</span></a>, particularly <code class=\"docutils literal notranslate\"><span class=\"pre\">ERROR</span></code>\nmessages are generated when a\n<a class=\"reference internal\" href=\"/sv/6.0/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> is successfully submitted\nbut the password reset email cannot be delivered due to a mail sending\nexception.</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>Log messages related to <a class=\"reference internal\" href=\"/sv/6.0/ref/contrib/gis/\"><span class=\"doc\">GeoDjango</span></a> at various points: during\nthe loading of external GeoSpatial libraries (GEOS, GDAL, etc.) and when\nreporting errors. Each <code class=\"docutils literal notranslate\"><span class=\"pre\">ERROR</span></code> log record includes the caught exception and\nrelevant contextual 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>This logger is used in <a class=\"reference internal\" href=\"/sv/6.0/ref/signals/\"><span class=\"doc\">Signaler</span></a>, specifically within the\n<a class=\"reference internal\" href=\"/sv/6.0/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> class, to report issues when dispatching a\nsignal to a connected receiver. The <code class=\"docutils literal notranslate\"><span class=\"pre\">ERROR</span></code> log record includes the caught\nexception as <code class=\"docutils literal notranslate\"><span class=\"pre\">exc_info</span></code> and adds the following extra context:</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>The security loggers will receive messages on any occurrence of\n<a class=\"reference internal\" href=\"/sv/6.0/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> and other security-related\nerrors. There is a sub-logger for each subtype of security error, including all\n<code class=\"docutils literal notranslate\"><span class=\"pre\">SuspiciousOperation</span></code>s. The level of the log event depends on where the\nexception is handled. Most occurrences are logged as a warning, while\nany <code class=\"docutils literal notranslate\"><span class=\"pre\">SuspiciousOperation</span></code> that reaches the WSGI handler will be logged as an\nerror. For example, when an HTTP <code class=\"docutils literal notranslate\"><span class=\"pre\">Host</span></code> header is included in a request from\na client that does not match <a class=\"reference internal\" href=\"/sv/6.0/ref/settings/#std-setting-ALLOWED_HOSTS\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">ALLOWED_HOSTS</span></code></a>, Django will return a 400\nresponse, and an error message will be logged to the\n<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/6.0/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/6.0/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/6.0/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/6.0/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/6.0/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/6.0/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/6.0/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/6.0/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/6.0/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/6.0/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/6.0/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/6.0/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/6.0/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/6.0/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/6.0/ref/"}],"prev":{"docname":"ref/forms/validation","title":"Validering av formulär och fält","url":"/sv/6.0/ref/forms/validation/"},"next":{"docname":"ref/middleware","title":"Middleware","url":"/sv/6.0/ref/middleware/"},"formats":{"html":"/sv/6.0/ref/logging/","markdown":"/sv/6.0/ref/logging.md","json":"/sv/6.0/ref/logging.json"},"source":"https://github.com/django/django/blob/stable/6.0.x/docs/ref/logging.txt","official":"https://docs.djangoproject.com/sv/6.0/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"]}