{"title":"ロギング","version":"5.1","locale":"ja","docname":"ref/logging","url":"/ja/5.1/ref/logging/","canonical":"https://djangodocs.dev/ja/5.1/ref/logging/","summary":"参考 ロギングの設定と利用 Django のロギングの概要 Django の logging モジュールは Python の 組み込み logging モジュールを継承しています。 Logging は、一般的なDjangoの django.setup()…","html":"<span id=\"logging-ref\"></span><h1>ロギング<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\">参考</p>\n<ul class=\"simple\">\n<li><p><a class=\"reference internal\" href=\"/ja/5.1/howto/logging/#logging-how-to\"><span class=\"std std-ref\">ロギングの設定と利用</span></a></p></li>\n<li><p><a class=\"reference internal\" href=\"/ja/5.1/topics/logging/#logging-explanation\"><span class=\"std std-ref\">Django のロギングの概要</span></a></p></li>\n</ul>\n</aside>\n<p id=\"module-django.utils.log\">Django の logging モジュールは Python の 組み込み <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>Logging は、一般的なDjangoの <a class=\"reference internal\" href=\"/ja/5.1/ref/applications/#django.setup\" title=\"django.setup\"><code class=\"xref py py-func docutils literal notranslate\"><span class=\"pre\">django.setup()</span></code></a> 関数の一部として設定されているため、明示的に無効にされない限り常に利用可能です。</p>\n<section id=\"django-s-default-logging-configuration\">\n<span id=\"default-logging-configuration\"></span><h2>Django のデフォルトのロギング設定<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>デフォルトでは、Django は Python の <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 フォーマット</span></a> を使用します。</p>\n<section id=\"default-logging-conditions\">\n<h3>デフォルトのログ記録条件<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>デフォルトのログ記録条件の完全なセットは以下の通りです:</p>\n<p><a class=\"reference internal\" href=\"/ja/5.1/ref/settings/#std-setting-DEBUG\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">DEBUG</span></code></a> が <code class=\"docutils literal notranslate\"><span class=\"pre\">True</span></code> のとき:</p>\n<ul class=\"simple\">\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django</span></code> ロガーは、<code class=\"docutils literal notranslate\"><span class=\"pre\">django</span></code> ヒエラルキー (<code class=\"docutils literal notranslate\"><span class=\"pre\">django.server</span></code> を除く) において、<code class=\"docutils literal notranslate\"><span class=\"pre\">INFO</span></code> レベル以上のメッセージをコンソールに送信します。</p></li>\n</ul>\n<p><a class=\"reference internal\" href=\"/ja/5.1/ref/settings/#std-setting-DEBUG\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">DEBUG</span></code></a> が <code class=\"docutils literal notranslate\"><span class=\"pre\">False</span></code> のとき:</p>\n<ul class=\"simple\">\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django</span></code> ロガーは、<code class=\"docutils literal notranslate\"><span class=\"pre\">django</span></code> ヒエラルキー (<code class=\"docutils literal notranslate\"><span class=\"pre\">django.server</span></code> を除く) において、<code class=\"docutils literal notranslate\"><span class=\"pre\">ERROR</span></code> ないし <code class=\"docutils literal notranslate\"><span class=\"pre\">CRITICAL</span></code> レベルを <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><a class=\"reference internal\" href=\"/ja/5.1/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><a class=\"reference internal\" href=\"#django-server-logger\"><span class=\"std std-ref\">django.server</span></a> ロガーは <code class=\"docutils literal notranslate\"><span class=\"pre\">INFO</span></code> レベル以上のメッセージをコンソールに送信します。</p></li>\n</ul>\n<p><a class=\"reference internal\" href=\"#django-server-logger\"><span class=\"std std-ref\">django.server</span></a> を除く全てのロガーは、ルートの <code class=\"docutils literal notranslate\"><span class=\"pre\">django</span></code> ロガーまで、親に対してログを伝播させます。<code class=\"docutils literal notranslate\"><span class=\"pre\">console</span></code> と <code class=\"docutils literal notranslate\"><span class=\"pre\">mail_admins</span></code> ハンドラは、上述の動作を提供するためにルートロガーにアタッチされます。</p>\n<p>Pythonのデフォルトは、レベル <code class=\"docutils literal notranslate\"><span class=\"pre\">WARNING</span></code> 以上のレコードをコンソールに送ります。</p>\n</section>\n<section id=\"default-logging-definition\">\n<span id=\"id1\"></span><h3>デフォルトのロギング定義<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>Django のデフォルトのロギング設定は、Python のデフォルトを継承しています。これは <code class=\"docutils literal notranslate\"><span class=\"pre\">django.utils.log.DEFAULT_LOGGING</span></code> として利用可能で、 <a class=\"extlink-source reference external\" href=\"https://github.com/django/django/blob/stable/5.1.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>このデフォルトのロギング設定を補完または置換する方法については、<a class=\"reference internal\" href=\"/ja/5.1/topics/logging/#configuring-logging\"><span class=\"std std-ref\">ロギングを設定する</span></a> を参照してください。</p>\n</section>\n</section>\n<section id=\"django-logging-extensions\">\n<h2>Django のロギング拡張<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は、Web サーバー環境でのロギングの特別な要件を処理するための多数のユーティリティを提供しています。</p>\n<section id=\"loggers\">\n<h3>ロガー<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はいくつかの組み込みロガーを提供しています。</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><code class=\"docutils literal notranslate\"><span class=\"pre\">django</span></code> <a class=\"reference internal\" href=\"/ja/5.1/howto/logging/#naming-loggers-hierarchy\"><span class=\"std std-ref\">名前付きロガー階層</span></a> のメッセージの親ロガーです。 Djangoは、この名前を使用してメッセージを投稿しません。代わりに、以下のロガーのいずれかを使用します。</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.request</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>リクエストに関するログをハンドリングします。5XXレスポンスは <code class=\"docutils literal notranslate\"><span class=\"pre\">ERROR</span></code> メッセージとして送られ、 4XXレスポンスは <code class=\"docutils literal notranslate\"><span class=\"pre\">WARNING</span></code> メッセージとして送られます。 <code class=\"docutils literal notranslate\"><span class=\"pre\">django.security</span></code> ロガーに出力されたメッセージは、 <code class=\"docutils literal notranslate\"><span class=\"pre\">django.request</span></code> ロガーには送られません。</p>\n<p>このロガーに送られるメッセージには、以下のようなコンテキストが含まれます。</p>\n<ul class=\"simple\">\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">status_code</span></code>: リクエストに対するレスポンスのHTTPレスポンスコード。</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">request</span></code>: ログのメッセージに対応するリクエストのオブジェクト。</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><a class=\"reference internal\" href=\"/ja/5.1/ref/django-admin/#django-admin-runserver\"><code class=\"xref std std-djadmin docutils literal notranslate\"><span class=\"pre\">runserver</span></code></a> コマンドによって立ち上がったサーバーが受け取ったリクエストに関するログメッセージ。HTTP の 5XX レスポンスは <code class=\"docutils literal notranslate\"><span class=\"pre\">ERROR</span></code> メッセージとして送られ、 4XX レスポンスは <code class=\"docutils literal notranslate\"><span class=\"pre\">WARNING</span></code> メッセージとして送られ、その他は <code class=\"docutils literal notranslate\"><span class=\"pre\">INFO</span></code> メッセージとして送られます。</p>\n<p>このロガーに送られるメッセージには、以下のようなコンテキストが含まれます。</p>\n<ul class=\"simple\">\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">status_code</span></code>: リクエストに対するレスポンスのHTTPレスポンスコード。</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">request</span></code>: ログメッセージを生成したリクエストオブジェクト (<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>) 。</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.template</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>テンプレートのレンダリングに関するログメッセージ。</p>\n<ul class=\"simple\">\n<li><p>コンテキストに変数が無い場合は DEBUG メッセージとして送られる。</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>コードとデータベースの間でのやりとりに関するメッセージ。たとえば、アプリケーションから実行全ての SQL は <code class=\"docutils literal notranslate\"><span class=\"pre\">DEBUG</span></code> レベルでメッセージが送られます。</p>\n<p>このロガーに送られるメッセージには、以下のようなコンテキストが含まれます。</p>\n<ul class=\"simple\">\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">duration</span></code>: SQLを実行するのにかかった時間。</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">sql</span></code>: 実行されたSQL文。</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">params</span></code>: SQLの呼び出しに使ったパラメータ。</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">alias</span></code>: SQL 呼び出しで使用されるデータベースのエイリアス。</p></li>\n</ul>\n<p>パフォーマンスの観点から、 SQL ログは、ログレベルやハンドラに関わらず、 <code class=\"docutils literal notranslate\"><span class=\"pre\">settings.DEBUG</span></code> に True が設定されているときのみ有効になります。</p>\n<p>このログには、フレームワークレベルの初期化(例: <code class=\"docutils literal notranslate\"><span class=\"pre\">SET</span> <span class=\"pre\">TIMEZONE</span></code>) は含まれていません。すべてのデータベースクエリを表示したい場合は、データムベースでクエリログを有効にしてください。</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>Django 開発サーバー実行中の自動コードリロードに関連するログメッセージです。このロガーは、ソースコードファイルの変更を検出した際に <code class=\"docutils literal notranslate\"><span class=\"pre\">INFO</span></code> メッセージを生成し、ファイルシステムの検査やイベント購読プロセス中に <code class=\"docutils literal notranslate\"><span class=\"pre\">WARNING</span></code> メッセージを生成することがあります。</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><a class=\"reference internal\" href=\"/ja/5.1/ref/contrib/auth/\"><span class=\"doc\">django.contrib.auth</span></a> に関連するログメッセージ、特に <code class=\"docutils literal notranslate\"><span class=\"pre\">ERROR</span></code> メッセージは、<a class=\"reference internal\" href=\"/ja/5.1/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> が正常に送信されたが、メール送信例外によりパスワードリセットメールが配信できなかった場合に生成されます。</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><a class=\"reference internal\" href=\"/ja/5.1/ref/contrib/gis/\"><span class=\"doc\">GeoDjango</span></a> に関連するログメッセージは、外部の地理空間ライブラリ（GEOS、GDALなど）の読み込み時や、エラーを報告する時点で様々な場所に記録されます。各 <code class=\"docutils literal notranslate\"><span class=\"pre\">ERROR</span></code> ログレコードには、発生した例外と関連するコンテキストデータが含まれます。</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>このロガーは <a class=\"reference internal\" href=\"/ja/5.1/ref/signals/\"><span class=\"doc\">シグナル</span></a> において使用されており、特に <a class=\"reference internal\" href=\"/ja/5.1/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> クラス内で、接続されたレシーバへのシグナルのディスパッチ時に問題が発生した場合に報告するために使用されます。<code class=\"docutils literal notranslate\"><span class=\"pre\">ERROR</span></code> ログレコードには捕捉された例外が <code class=\"docutils literal notranslate\"><span class=\"pre\">exc_info</span></code> として含まれ、以下の追加コンテキストが加えられます。</p>\n<ul class=\"simple\">\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">receiver</span></code>: レシーバの名前。</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">err</span></code>: レシーバを呼び出した時に発生した例外。</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>セキュリティログは、 <a class=\"reference internal\" href=\"/ja/5.1/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> および他のセキュリティ関連のエラーが発生した際にメッセージを受け取ります。セキュリティエラーの各サブタイプごとにサブロガーがあり、すべての <code class=\"docutils literal notranslate\"><span class=\"pre\">SuspiciousOperation</span></code> が含まれます。ログイベントのレベルは、例外が処理される場所によって異なります。ほとんどの発生は警告としてログされますが、WSGIハンドラーに到達した <code class=\"docutils literal notranslate\"><span class=\"pre\">SuspiciousOperation</span></code> はエラーとしてログされます。たとえば、クライアントからのリクエストに含まれるHTTP <code class=\"docutils literal notranslate\"><span class=\"pre\">Host</span></code> ヘッダーが <a class=\"reference internal\" href=\"/ja/5.1/ref/settings/#std-setting-ALLOWED_HOSTS\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">ALLOWED_HOSTS</span></code></a> と一致しない場合、Djangoは400のレスポンスを返し、<code class=\"docutils literal notranslate\"><span class=\"pre\">django.security.DisallowedHost</span></code> ロガーにエラーメッセージがログされます。</p>\n<p>これらのログイベントはデフォルトで <code class=\"docutils literal notranslate\"><span class=\"pre\">django</span></code> ロガーに到達し、<code class=\"docutils literal notranslate\"><span class=\"pre\">DEBUG=False</span></code> のときにはエラーイベントを管理者にメールします。<code class=\"docutils literal notranslate\"><span class=\"pre\">SuspiciousOperation</span></code> によって400レスポンスを引き起こすリクエストは <code class=\"docutils literal notranslate\"><span class=\"pre\">django.request</span></code> ロガーには記録されず、<code class=\"docutils literal notranslate\"><span class=\"pre\">django.security</span></code> ロガーにのみ記録されます。</p>\n<p>特定のタイプの <code class=\"docutils literal notranslate\"><span class=\"pre\">SuspiciousOperation</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;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><code class=\"docutils literal notranslate\"><span class=\"pre\">SuspiciousOperation</span></code> に基づかない他の <code class=\"docutils literal notranslate\"><span class=\"pre\">django.security</span></code> ロガーには、以下があります:</p>\n<ul class=\"simple\">\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.security.csrf</span></code>: <a class=\"reference internal\" href=\"/ja/5.1/howto/csrf/#csrf-rejected-requests\"><span class=\"std std-ref\">CSRF の失敗</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>スキーマの変更中に実行されるSQLクエリを、 <a class=\"reference internal\" href=\"/ja/5.1/topics/migrations/\"><span class=\"doc\">マイグレーションフレームワーク</span></a> によってログ記録します。ただし、 <a class=\"reference internal\" href=\"/ja/5.1/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> によって実行されるクエリはログされません。このロガーへのメッセージには、 <code class=\"docutils literal notranslate\"><span class=\"pre\">params</span></code> と <code class=\"docutils literal notranslate\"><span class=\"pre\">sql</span></code> が追加のコンテキストとして含まれます（ただし、 <code class=\"docutils literal notranslate\"><span class=\"pre\">django.db.backends</span></code> とは異なり、実行時間は含まれません）。これらの値の意味については、 <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><a class=\"reference internal\" href=\"/ja/5.1/topics/http/sessions/\"><span class=\"doc\">セッションフレームワーク</span></a> に関連するログメッセージです。</p>\n<ul class=\"simple\">\n<li><p><a class=\"reference internal\" href=\"/ja/5.1/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> エンジンを使用している際に発生する非致命的なエラーは、<code class=\"docutils literal notranslate\"><span class=\"pre\">ERROR</span></code> メッセージとして、対応するトレースバックとともにログに記録されます。</p></li>\n</ul>\n</section>\n</section>\n<section id=\"handlers\">\n<h3>ハンドラ<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 は、 <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\">Pythonのモジュールによって提供されるもの</span></code></a> に加えて、1つのログハンドラを提供しています。</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>このハンドラは、受け取ったログメッセージごとにサイトの <a class=\"reference internal\" href=\"/ja/5.1/ref/settings/#std-setting-ADMINS\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">ADMINS</span></code></a> に電子メールを送信します。</p>\n<p>ログレコードに <code class=\"docutils literal notranslate\"><span class=\"pre\">request</span></code> 属性が含まれている場合、リクエストの詳細がメールに含まれます。クライアントの IP アドレスが <a class=\"reference internal\" href=\"/ja/5.1/ref/settings/#std-setting-INTERNAL_IPS\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">INTERNAL_IPS</span></code></a> 設定にある場合、メールの件名に &quot;internal IP&quot; というフレーズが含まれます。そうでない場合は &quot;EXTERNAL IP&quot; が含まれます。</p>\n<p>ログレコードにスタックトレース情報が含まれている場合、そのスタックトレースは電子メールに含まれます。</p>\n<p><code class=\"docutils literal notranslate\"><span class=\"pre\">AdminEmailHandler</span></code> の <code class=\"docutils literal notranslate\"><span class=\"pre\">include_html</span></code> 引数は、 <a class=\"reference internal\" href=\"/ja/5.1/ref/settings/#std-setting-DEBUG\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">DEBUG</span></code></a> が <code class=\"docutils literal notranslate\"><span class=\"pre\">True</span></code> の場合に生成されるデバッグウェブページの内容を含む HTML 添付ファイルを traceback メールに含めるかどうかを制御するために使用されます。この値を設定するには、<code class=\"docutils literal notranslate\"><span class=\"pre\">django.utils.log.AdminEmailHandler</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=\"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><code class=\"docutils literal notranslate\"><span class=\"pre\">AdminEmailHandler</span></code> を使用する際は、 <a class=\"reference internal\" href=\"/ja/5.1/topics/logging/#logging-security-implications\"><span class=\"std std-ref\">ログのセキュリティ上の注意点</span></a> に注意してください。</p>\n<p><code class=\"docutils literal notranslate\"><span class=\"pre\">AdminEmailHandler</span></code> の <code class=\"docutils literal notranslate\"><span class=\"pre\">email_backend</span></code> 引数を設定することで、ハンドラーが使用している <a class=\"reference internal\" href=\"/ja/5.1/topics/email/#topic-email-backends\"><span class=\"std std-ref\">メールバックエンド</span></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=\"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>デフォルトでは、 <a class=\"reference internal\" href=\"/ja/5.1/ref/settings/#std-setting-EMAIL_BACKEND\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">EMAIL_BACKEND</span></code></a> で指定されたメールバックエンドのインスタンスが使用されます。</p>\n<p><code class=\"docutils literal notranslate\"><span class=\"pre\">AdminEmailHandler</span></code> の <code class=\"docutils literal notranslate\"><span class=\"pre\">reporter_class</span></code> 引数では、メール本文で送信されるトレースバックテキストをカスタマイズするために <code class=\"docutils literal notranslate\"><span class=\"pre\">django.views.debug.ExceptionReporter</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=\"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>管理ユーザーにメールを送信します。この動作をカスタマイズするためには、 <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>\n</dd></dl>\n\n</dd></dl>\n\n</section>\n<section id=\"filters\">\n<h3>フィルタ<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は、Pythonのロギングモジュールによって提供されるフィルタに加えて、いくつかのログフィルタを提供しています。</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>このフィルタは、(1 つの引数、ログを行うレコード) を受け入れるコールバック関数を受け入れ、フィルタを通過する各レコードに対してその関数をコールします。コールバックが False を返す場合、そのレコードの処理は進みません。</p>\n<p>例えば、管理者メールから（ユーザーがアップロードをキャンセルした時に発生する） <a class=\"reference internal\" href=\"/ja/5.1/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> をフィルタリングするために、フィルタ関数を作成します。</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>次に、ログ設定にそれを追加します:</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>このフィルタは、<code class=\"docutils literal notranslate\"><span class=\"pre\">settings.DEBUG</span></code> が False の時のみ、レコードを通過させます。</p>\n<p>このフィルタは、デフォルトの <a class=\"reference internal\" href=\"/ja/5.1/ref/settings/#std-setting-LOGGING\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">LOGGING</span></code></a> 設定で以下のように使用され、 <a class=\"reference internal\" href=\"/ja/5.1/ref/settings/#std-setting-DEBUG\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">DEBUG</span></code></a> が <code class=\"docutils literal notranslate\"><span class=\"pre\">False</span></code> のときのみ <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>\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>このフィルタは <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> に似ていますが、<a class=\"reference internal\" href=\"/ja/5.1/ref/settings/#std-setting-DEBUG\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">DEBUG</span></code></a> が <code class=\"docutils literal notranslate\"><span class=\"pre\">True</span></code> の場合にのみレコードが渡されます。</p>\n</dd></dl>\n\n</section>\n</section>","rootId":"logging","toc":[{"title":"Django のデフォルトのロギング設定","anchor":"django-s-default-logging-configuration","children":[{"title":"デフォルトのログ記録条件","anchor":"default-logging-conditions","children":[]},{"title":"デフォルトのロギング定義","anchor":"default-logging-definition","children":[]}]},{"title":"Django のロギング拡張","anchor":"django-logging-extensions","children":[{"title":"ロガー","anchor":"loggers","children":[{"title":"django","anchor":"django","children":[]},{"title":"django.request","anchor":"django-request","children":[]},{"title":"django.server","anchor":"django-server","children":[]},{"title":"django.template","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":"ハンドラ","anchor":"handlers","children":[]},{"title":"フィルタ","anchor":"filters","children":[]}]}],"breadcrumbs":[{"docname":"ref/index","title":"API リファレンス","url":"/ja/5.1/ref/"}],"prev":{"docname":"ref/forms/validation","title":"フォームとフィールドのバリデーション","url":"/ja/5.1/ref/forms/validation/"},"next":{"docname":"ref/middleware","title":"ミドルウェア","url":"/ja/5.1/ref/middleware/"},"formats":{"html":"/ja/5.1/ref/logging/","markdown":"/ja/5.1/ref/logging.md","json":"/ja/5.1/ref/logging.json"},"source":"https://github.com/django/django/blob/stable/5.1.x/docs/ref/logging.txt","official":"https://docs.djangoproject.com/ja/5.1/ref/logging/","inVersions":["6.1","6.0","5.2","5.1","5.0","4.2","4.1","4.0"],"inLocales":["en","zh-hans","fr","ja","id","it","pt-br","ko","es","el","pl"]}