{"title":"Conas logáil a chumrú agus a úsáid","version":"6.0","locale":"ga","docname":"howto/logging","url":"/ga/6.0/howto/logging/","canonical":"https://djangodocs.dev/ga/6.0/howto/logging/","summary":"Soláthraíonn Django oibrí:ref: `cumraíocht logála réamhshocraithe <default-logging-configuration>`a leathnaítear go héasca.","html":"<span id=\"logging-how-to\"></span><h1>Conas logáil a chumrú agus a úsáid<a class=\"heading-anchor\" href=\"#how-to-configure-and-use-logging\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h1>\n<aside class=\"admonition admonition-seealso\" role=\"note\">\n<p class=\"admonition-title\">See also</p>\n<ul class=\"simple\">\n<li><p>&lt;logging-ref&gt;:ref: <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">`</span></a>Tagairt logála Django `</p></li>\n<li><p>&lt;logging-explanation&gt;:ref: <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">`</span></a>Forbhreathnú logála Django `</p></li>\n</ul>\n</aside>\n<p>Soláthraíonn Django oibrí:ref: <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">`</span></a>cumraíocht logála réamhshocraithe &lt;default-logging-configuration&gt;`a leathnaítear go héasca.</p>\n<section id=\"make-a-basic-logging-call\">\n<h2>Déan glao logála bunúsach<a class=\"heading-anchor\" href=\"#make-a-basic-logging-call\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Chun teachtaireacht logála a sheoladh ó laistigh de do chód, cuireann tú glao logála isteach ann.</p>\n<aside class=\"admonition-don-t-be-tempted-to-use-logging-calls-in-settings-py admonition\" role=\"note\">\n<p class=\"admonition-title\">Ná bíodh mealladh ort glaonna logála a úsáid i settings.py`.</p>\n<p>Ciallaíonn an bealach a chuirtear logáil Django mar chuid den fheidhm <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>setup () <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>go bhféadfadh glaonna logála a chuirtear i settings.py <a href=\"#id5\"><span class=\"problematic\" id=\"id6\">`</span></a>oibreoidh mar a bhíothas ag súil leis, toisc nach mbunófar logáil ag an bpointe sin <a href=\"#id7\"><span class=\"problematic\" id=\"id8\">*</span></a>. Chun logáil a iniúchadh, bain úsáid as feidhm amharc mar a mholtar sa sampla thíos.</p>\n</aside>\n<p>First, import the Python logging library, and then obtain a logger instance\nwith <a class=\"reference external\" href=\"https://docs.python.org/3/library/logging.html#logging.getLogger\" title=\"(in Python v3.14)\"><code class=\"xref py py-func docutils literal notranslate\">logging.getLogger()</code></a>. Provide the <code class=\"docutils literal notranslate\">getLogger()</code> method with a\nname to identify it and the records it emits. A good option is to use\n<code class=\"docutils literal notranslate\">__name__</code> (see <a class=\"reference internal\" href=\"#naming-loggers\"><span class=\"std std-ref\">Úsáid spás ainmneacha logger</span></a> below for more on this) which will\nprovide the name of the current Python module as a dotted path:</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\">import</span> <span class=\"nn\">logging</span>\n\nlogger <span class=\"o\">=</span> logging<span class=\"o\">.</span>getLogger<span class=\"p\">(</span><span class=\"vm\">__name__</span><span class=\"p\">)</span>\n</code></pre></div>\n<p>Is coinbhinsiún maith é an dearbhú seo a dhéanamh ar leibhéal an mhodúil.</p>\n<p>Agus ansin i bhfeidhm, mar shampla i radharc, seol taifead chuig an logger:</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=\"k\">def</span> <span class=\"nf\">some_view</span><span class=\"p\">(</span>request<span class=\"p\">):</span>\n    <span class=\"o\">...</span>\n    <span class=\"k\">if</span> some_risky_state<span class=\"p\">:</span>\n        logger<span class=\"o\">.</span>warning<span class=\"p\">(</span><span class=\"s2\">&quot;Platform is running at risk&quot;</span><span class=\"p\">)</span>\n</code></pre></div>\n<p>When this code is executed, a <a class=\"reference external\" href=\"https://docs.python.org/3/library/logging.html#logging.LogRecord\" title=\"(in Python v3.14)\"><code class=\"xref py py-class docutils literal notranslate\">LogRecord</code></a> containing that\nmessage will be sent to the logger. If you're using Django's default logging\nconfiguration, the message will appear in the console.</p>\n<p>Tá an leibhéal <code class=\"docutils literal notranslate\">RABHADH ``a úsáidtear sa sampla thuas ar cheann de roinnt leibhéil déine logála `: `DEBUG</code>, INFO`, RABHADH`, ERROR`&lt;topic-logging-parts-loggers&gt;, CRITICAL`. Mar sin, d'fhéadfadh sampla eile a bheith:</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>logger<span class=\"o\">.</span>critical<span class=\"p\">(</span><span class=\"s2\">&quot;Payment system is not responding&quot;</span><span class=\"p\">)</span>\n</code></pre></div>\n<aside class=\"admonition admonition-important\" role=\"note\">\n<p class=\"admonition-title\">Important</p>\n<p>Ní bheidh taifid le leibhéal níos ísle ná `` RABHADH`` le feiceáil sa chonsól de réir réamhshocraithe. Teastaíonn cumraíocht bhreise chun an iompar seo a athrú.</p>\n</aside>\n</section>\n<section id=\"customize-logging-configuration\">\n<h2>Saincheapadh cumraíocht logála<a class=\"heading-anchor\" href=\"#customize-logging-configuration\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Cé go n-oibríonn cumraíocht logála Django as an mbosca, is féidir leat rialú go díreach conas a sheoltar do logaí chuig cinn scríbe éagsúla - chun comhaid, seirbhísí seachtracha, ríomhphost agus mar sin de - a logáil le roinnt cumraíochta breise.</p>\n<p>Is féidir leat a chumrú:</p>\n<ul class=\"simple\">\n<li><p>mapáil logálaí, chun a chinneadh cé na taifid a sheoltar chuig na láimhseálaithe</p></li>\n<li><p>láimhseálaithe, chun a chinneadh cad a dhéanann siad leis na taifid a fhaigheann siad</p></li>\n<li><p>scagairí, chun smacht bhreise a sholáthar ar aistriú taifid, agus fiú taifid a mhodhnú i bhfeidhm</p></li>\n<li><p>formáidithe, chun athró:class: ~Logging.logRecord rudaí a thiontú go sreang nó foirm eile le tomhaltas ag daoine nó córas eile</p></li>\n</ul>\n<p>Tá bealaí éagsúla ann chun logáil a chumrú. I Django, úsáidtear an socrú: setting: LOGGING is coitianta. &lt;default-logging-definition&gt;Úsáideann an socrú an fhormáid: ref: DictConfig &lt;logging-config-dictschema&gt;, agus leathnaíonn sé an:ref: cumraíocht logála réamhshocraithe.</p>\n<p>Féach: ref: configuring-loging le haghaidh míniú ar an gcaoi a ndéantar do shocruithe saincheaptha a chumasc le réamhshocruithe Django.</p>\n<p>Féach na:mod: Doiciméadú logála Python &lt;python:logging.config&gt;`le haghaidh sonraí faoi bhealaí eile chun logáil a chumrú. Ar mhaithe le simplíocht, ní mheasfaidh an doiciméadú seo cumraíocht ach tríd an socrú ``LOGGING.</p>\n<section id=\"basic-logging-configuration\">\n<span id=\"basic-logger-configuration\"></span><h3>Cumraíocht logála bunúsach<a class=\"heading-anchor\" href=\"#basic-logging-configuration\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>Agus logáil á chumrú agat, bíonn sé ciallmhar</p>\n<section id=\"create-a-logging-dictionary\">\n<h4>Cruthaigh foclóir <code class=\"docutils literal notranslate\">LOGGING</code><a class=\"heading-anchor\" href=\"#create-a-logging-dictionary\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<p>I do settings.py`:</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>LOGGING <span class=\"o\">=</span> <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>  <span class=\"c1\"># the dictConfig format version</span>\n    <span class=\"s2\">&quot;disable_existing_loggers&quot;</span><span class=\"p\">:</span> <span class=\"kc\">False</span><span class=\"p\">,</span>  <span class=\"c1\"># retain the default loggers</span>\n<span class=\"p\">}</span>\n</code></pre></div>\n<p>Tá sé ciallmhar beagnach i gcónaí an chumraíocht logála réamhshocraithe a choinneáil agus a leathnú trí “disable_existing_loggers” a shocrú go <code class=\"docutils literal notranslate\">False</code>.</p>\n</section>\n<section id=\"configure-a-handler\">\n<h4>Cumraigh láimhseálaí<a class=\"heading-anchor\" href=\"#configure-a-handler\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<p>Cumraíonn an sampla seo láimhseálaí aonair darb ainm <code class=\"docutils literal notranslate\">file</code>, a úsáideann Python's:class: ~logging.fileHandler chun logaí de leibhéal <code class=\"docutils literal notranslate\">DEBUG` agus níos airde chuig an gcomhad ``general.log</code> (ag fréamh an tionscadail) a shábháil:</p>\n<div class=\"code-block\" data-language=\"python\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python</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=\"Python code\"><code>LOGGING <span class=\"o\">=</span> <span class=\"p\">{</span>\n    <span class=\"c1\"># ...</span>\n<span class=\"hll\">    <span class=\"s2\">&quot;handlers&quot;</span><span class=\"p\">:</span> <span class=\"p\">{</span>\n</span><span class=\"hll\">        <span class=\"s2\">&quot;file&quot;</span><span class=\"p\">:</span> <span class=\"p\">{</span>\n</span><span class=\"hll\">            <span class=\"s2\">&quot;class&quot;</span><span class=\"p\">:</span> <span class=\"s2\">&quot;logging.FileHandler&quot;</span><span class=\"p\">,</span>\n</span><span class=\"hll\">            <span class=\"s2\">&quot;filename&quot;</span><span class=\"p\">:</span> <span class=\"s2\">&quot;general.log&quot;</span><span class=\"p\">,</span>\n</span><span class=\"hll\">        <span class=\"p\">},</span>\n</span><span class=\"hll\">    <span class=\"p\">},</span>\n</span><span class=\"p\">}</span>\n</code></pre></div>\n<p>Different handler classes take different configuration options. For more\ninformation on available handler classes, see the\n<a class=\"reference internal\" href=\"/ga/6.0/ref/logging/#django.utils.log.AdminEmailHandler\" title=\"django.utils.log.AdminEmailHandler\"><code class=\"xref py py-class docutils literal notranslate\">AdminEmailHandler</code></a> provided by Django and the various\n<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\">handler classes</code></a> provided by Python.</p>\n<p>Is féidir leibhéil logála a shocrú ar na láimhseálaithe freisin (de réir réamhshocraithe, glacann siad le teachtaireachtaí loga de gach leibhéal). Ag baint úsáide as an sampla thuas, ag cur leis:</p>\n<div class=\"code-block\" data-language=\"python\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python</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=\"Python code\"><code><span class=\"p\">{</span>\n    <span class=\"s2\">&quot;class&quot;</span><span class=\"p\">:</span> <span class=\"s2\">&quot;logging.FileHandler&quot;</span><span class=\"p\">,</span>\n    <span class=\"s2\">&quot;filename&quot;</span><span class=\"p\">:</span> <span class=\"s2\">&quot;general.log&quot;</span><span class=\"p\">,</span>\n<span class=\"hll\">    <span class=\"s2\">&quot;level&quot;</span><span class=\"p\">:</span> <span class=\"s2\">&quot;DEBUG&quot;</span><span class=\"p\">,</span>\n</span><span class=\"p\">}</span>\n</code></pre></div>\n<p>sainmhíníodh cumraíocht láimhseálaí nach nglacann ach taifid ar leibhéal <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>DEBUG` agus níos airde.</p>\n</section>\n<section id=\"configure-a-logger-mapping\">\n<h4>Cumraigh mapáil logger<a class=\"heading-anchor\" href=\"#configure-a-logger-mapping\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<p>Chun taifid a sheoladh chuig an láimhseálaí seo, cumraigh mapáil logger chun é a úsáid mar shampla:</p>\n<div class=\"code-block\" data-language=\"python\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python</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=\"Python code\"><code>LOGGING <span class=\"o\">=</span> <span class=\"p\">{</span>\n    <span class=\"c1\"># ...</span>\n<span class=\"hll\">    <span class=\"s2\">&quot;loggers&quot;</span><span class=\"p\">:</span> <span class=\"p\">{</span>\n</span><span class=\"hll\">        <span class=\"s2\">&quot;&quot;</span><span class=\"p\">:</span> <span class=\"p\">{</span>\n</span><span class=\"hll\">            <span class=\"s2\">&quot;level&quot;</span><span class=\"p\">:</span> <span class=\"s2\">&quot;DEBUG&quot;</span><span class=\"p\">,</span>\n</span><span class=\"hll\">            <span class=\"s2\">&quot;handlers&quot;</span><span class=\"p\">:</span> <span class=\"p\">[</span><span class=\"s2\">&quot;file&quot;</span><span class=\"p\">],</span>\n</span><span class=\"hll\">        <span class=\"p\">},</span>\n</span><span class=\"hll\">    <span class=\"p\">},</span>\n</span><span class=\"p\">}</span>\n</code></pre></div>\n<p>Cinneann ainm na mapála cé na taifid logála a phróiseálfaidh sé. Tá an chumraíocht seo (&quot;`) <em>gan ainmne</em>. Ciallaíonn sé sin go ndéanfaidh sé taifid a phróiseáil ó* lógairí uach* (féach:ref: naming-loggers thíos maidir le conas an t-ainm mapála a úsáid chun na logairí a phróiseálfaidh sé taifid a chinneadh).</p>\n<p>Cuirfidh sé teachtaireachtaí de leibhéil <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>DEBUG` agus níos airde ar aghaidh chuig an láimhseálaí darb ainm <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>comhad <a href=\"#id5\"><span class=\"problematic\" id=\"id6\">``</span></a>.</p>\n<p>Tabhair faoi deara gur féidir le logálaí teachtaireachtaí a chur ar aghaidh chuig láimhseálaithe iolracha, mar sin tá an gaol idir lógairí agus láimhseálaithe go leor.</p>\n<p>Má fhorghníomhaíonn tú:</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>logger<span class=\"o\">.</span>debug<span class=\"p\">(</span><span class=\"s2\">&quot;Attempting to connect to API&quot;</span><span class=\"p\">)</span>\n</code></pre></div>\n<p>i do chód, gheobhaidh tú an teachtaireacht sin sa chomhad <code class=\"docutils literal notranslate\">general.log</code> i bhfréamh an tionscadail.</p>\n</section>\n<section id=\"configure-a-formatter\">\n<h4>Cumraigh formáiditheoir<a class=\"heading-anchor\" href=\"#configure-a-formatter\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<p>&lt;logging.LogRecord&gt;De réir réamhshocraithe, tá an chuid teachtaireachta de gach ceann: class: log record `sa aschur logála deiridh. Úsáid formáiditheoir más mian leat sonraí breise a chur san áireamh. Céad ainm agus sainmhínigh do chuid formáidithe - sainmhíníonn an sampla seo formáidithe darb ainm ``verbose` agus <code class=\"docutils literal notranslate\">simpl</code>:</p>\n<div class=\"code-block\" data-language=\"python\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python</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=\"Python code\"><code>LOGGING <span class=\"o\">=</span> <span class=\"p\">{</span>\n    <span class=\"c1\"># ...</span>\n<span class=\"hll\">    <span class=\"s2\">&quot;formatters&quot;</span><span class=\"p\">:</span> <span class=\"p\">{</span>\n</span><span class=\"hll\">        <span class=\"s2\">&quot;verbose&quot;</span><span class=\"p\">:</span> <span class=\"p\">{</span>\n</span><span class=\"hll\">            <span class=\"s2\">&quot;format&quot;</span><span class=\"p\">:</span> <span class=\"s2\">&quot;</span><span class=\"si\">{name}</span><span class=\"s2\"> </span><span class=\"si\">{levelname}</span><span class=\"s2\"> </span><span class=\"si\">{asctime}</span><span class=\"s2\"> </span><span class=\"si\">{module}</span><span class=\"s2\"> </span><span class=\"si\">{process:d}</span><span class=\"s2\"> </span><span class=\"si\">{thread:d}</span><span class=\"s2\"> </span><span class=\"si\">{message}</span><span class=\"s2\">&quot;</span><span class=\"p\">,</span>\n</span><span class=\"hll\">            <span class=\"s2\">&quot;style&quot;</span><span class=\"p\">:</span> <span class=\"s2\">&quot;{&quot;</span><span class=\"p\">,</span>\n</span><span class=\"hll\">        <span class=\"p\">},</span>\n</span><span class=\"hll\">        <span class=\"s2\">&quot;simple&quot;</span><span class=\"p\">:</span> <span class=\"p\">{</span>\n</span><span class=\"hll\">            <span class=\"s2\">&quot;format&quot;</span><span class=\"p\">:</span> <span class=\"s2\">&quot;</span><span class=\"si\">{levelname}</span><span class=\"s2\"> </span><span class=\"si\">{message}</span><span class=\"s2\">&quot;</span><span class=\"p\">,</span>\n</span><span class=\"hll\">            <span class=\"s2\">&quot;style&quot;</span><span class=\"p\">:</span> <span class=\"s2\">&quot;{&quot;</span><span class=\"p\">,</span>\n</span><span class=\"hll\">        <span class=\"p\">},</span>\n</span><span class=\"hll\">    <span class=\"p\">},</span>\n</span><span class=\"p\">}</span>\n</code></pre></div>\n<p>Ligeann an eochairfhocal <code class=\"docutils literal notranslate\">style</code> duit <code class=\"docutils literal notranslate\">{</code> a shonrú for:meth: str.format nó <code class=\"docutils literal notranslate\">$</code> formáidiú: class: `String.template; is é $` an réamhshocraithe.</p>\n<p>Féach: ref: logrecord-atritributes do thréithe: class: ~logging.logrecord is féidir leat a chur san áireamh.</p>\n<p>Chun formáiditheoir a chur i bhfeidhm ar láimhseálaí, cuir iontráil <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>formáiditheoir <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>le foclóir an láimhseálaí ag tagairt don fhormáiditheoir de réir ainm, mar shampla:</p>\n<div class=\"code-block\" data-language=\"python\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python</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=\"Python code\"><code><span class=\"s2\">&quot;handlers&quot;</span><span class=\"p\">:</span> <span class=\"p\">{</span>\n    <span class=\"s2\">&quot;file&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.FileHandler&quot;</span><span class=\"p\">,</span>\n        <span class=\"s2\">&quot;filename&quot;</span><span class=\"p\">:</span> <span class=\"s2\">&quot;general.log&quot;</span><span class=\"p\">,</span>\n<span class=\"hll\">        <span class=\"s2\">&quot;formatter&quot;</span><span class=\"p\">:</span> <span class=\"s2\">&quot;verbose&quot;</span><span class=\"p\">,</span>\n</span>    <span class=\"p\">},</span>\n<span class=\"p\">}</span>\n</code></pre></div>\n</section>\n<section id=\"use-logger-namespacing\">\n<span id=\"naming-loggers\"></span><h4>Úsáid spás ainmneacha logger<a class=\"heading-anchor\" href=\"#use-logger-namespacing\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<p>Gabhann an chumraíocht logála gan ainm <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a><a href=\"#id3\"><span class=\"problematic\" id=\"id4\">`</span></a>logaí ó aon fheidhmchlár Python. Ní ghlacfaidh cumraíocht logála ainmnithe logaí ach ó logálaithe le hainmneacha meaitseála.</p>\n<p>The namespace of a logger instance is defined using\n<a class=\"reference external\" href=\"https://docs.python.org/3/library/logging.html#logging.getLogger\" title=\"(in Python v3.14)\"><code class=\"xref py py-func docutils literal notranslate\">getLogger()</code></a>. For example in <code class=\"docutils literal notranslate\">views.py</code> of <code class=\"docutils literal notranslate\">my_app</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>logger <span class=\"o\">=</span> logging<span class=\"o\">.</span>getLogger<span class=\"p\">(</span><span class=\"vm\">__name__</span><span class=\"p\">)</span>\n</code></pre></div>\n<p>cruthóidh sé logálaí sa spás ainmneacha <code class=\"docutils literal notranslate\">my_app.views</code>. Ligeann <code class=\"docutils literal notranslate\">__name__</code> duit teachtaireachtaí logála a eagrú de réir a dtionscnaimh laistigh d'iarratais do thionscadail go huathoibríoch. Cinntíonn sé freisin nach mbeidh imbhuailtí ainmneacha agat.</p>\n<p>Gabhfaidh mapáil logaire darb ainm <code class=\"docutils literal notranslate\">my_app.views</code> taifid ón logger seo:</p>\n<div class=\"code-block\" data-language=\"python\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python</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=\"Python code\"><code>LOGGING <span class=\"o\">=</span> <span class=\"p\">{</span>\n    <span class=\"c1\"># ...</span>\n    <span class=\"s2\">&quot;loggers&quot;</span><span class=\"p\">:</span> <span class=\"p\">{</span>\n<span class=\"hll\">        <span class=\"s2\">&quot;my_app.views&quot;</span><span class=\"p\">:</span> <span class=\"p\">{</span><span class=\"o\">...</span><span class=\"p\">},</span>\n</span>    <span class=\"p\">},</span>\n<span class=\"p\">}</span>\n</code></pre></div>\n<p>Beidh mapáil logálaí darb ainm my_app` níos ceadaithe, ag gabháil taifid ó loggers áit ar bith laistigh den spás ainmneacha <code class=\"docutils literal notranslate\">my_app</code> (lena n-áirítear <code class=\"docutils literal notranslate\">my_app.views</code>, my_app.utils`, agus mar sin de):</p>\n<div class=\"code-block\" data-language=\"python\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python</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=\"Python code\"><code>LOGGING <span class=\"o\">=</span> <span class=\"p\">{</span>\n    <span class=\"c1\"># ...</span>\n    <span class=\"s2\">&quot;loggers&quot;</span><span class=\"p\">:</span> <span class=\"p\">{</span>\n<span class=\"hll\">        <span class=\"s2\">&quot;my_app&quot;</span><span class=\"p\">:</span> <span class=\"p\">{</span><span class=\"o\">...</span><span class=\"p\">},</span>\n</span>    <span class=\"p\">},</span>\n<span class=\"p\">}</span>\n</code></pre></div>\n<p>Is féidir leat spás ainmneacha logger a shainiú go sainráite freisin:</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>logger <span class=\"o\">=</span> logging<span class=\"o\">.</span>getLogger<span class=\"p\">(</span><span class=\"s2\">&quot;project.payment&quot;</span><span class=\"p\">)</span>\n</code></pre></div>\n<p>agus mharpálacha logaire a chur ar bun dá réir.</p>\n<section id=\"using-logger-hierarchies-and-propagation\">\n<span id=\"naming-loggers-hierarchy\"></span><h5>Ag baint úsáide as ordlathais logger agus iomadú<a class=\"heading-anchor\" href=\"#using-logger-hierarchies-and-propagation\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h5>\n<p>Is é ainmniú logger* ordlathach*. Is é my_app` tuismitheoir <code class=\"docutils literal notranslate\">my_app.views</code>, arb é tuismitheoir <code class=\"docutils literal notranslate\">my_app.views.private</code>. Mura sonraítear a mhalairt, iomadóidh mapáil logger na taifid a phróiseálann siad dá dtuismitheoirí - déanfar taifead ó logálaí sa spás ainmneacha <code class=\"docutils literal notranslate\">my_app.views.private</code> a láimhseáil le mapáil do <code class=\"docutils literal notranslate\">my_app</code> agus my_app.views` araon.</p>\n<p>Chun an t-iompar seo a bhainistiú, socraigh an eochair iomadaithe ar na mapálacha a shainmhíníonn tú:</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>LOGGING <span class=\"o\">=</span> <span class=\"p\">{</span>\n    <span class=\"c1\"># ...</span>\n    <span class=\"s2\">&quot;loggers&quot;</span><span class=\"p\">:</span> <span class=\"p\">{</span>\n        <span class=\"s2\">&quot;my_app&quot;</span><span class=\"p\">:</span> <span class=\"p\">{</span>\n            <span class=\"c1\"># ...</span>\n        <span class=\"p\">},</span>\n        <span class=\"s2\">&quot;my_app.views&quot;</span><span class=\"p\">:</span> <span class=\"p\">{</span>\n            <span class=\"c1\"># ...</span>\n        <span class=\"p\">},</span>\n        <span class=\"s2\">&quot;my_app.views.private&quot;</span><span class=\"p\">:</span> <span class=\"p\">{</span>\n            <span class=\"c1\"># ...</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>Tá <code class=\"docutils literal notranslate\">iomada</code> réamhshocraithe go <code class=\"docutils literal notranslate\">True</code>. Sa sampla seo, ní láimhseálfaidh an tuismitheoir na logaí ó my_app.views.private`, ach déanfaidh logaí ó my_app.views`.</p>\n</section>\n</section>\n</section>\n<section id=\"configure-responsive-logging\">\n<h3>Cumraigh logáil sofhreagrach<a class=\"heading-anchor\" href=\"#configure-responsive-logging\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>Tá logáil is úsáideach nuair a bhíonn an oiread faisnéise agus is féidir ann, ach ní faisnéis nach dteastaíonn uait - agus braitheann an méid a theastaíonn uait ar an méid atá á dhéanamh agat. Nuair a bhíonn tú ag dífhabhtú, teastaíonn leibhéal faisnéise uait a bheadh iomarcach agus neamhchabhrach dá mbeadh ort déileáil leis i dtáirgeadh.</p>\n<p>Is féidir leat logáil a chumrú chun an leibhéal sonraí a theastaíonn uait a sholáthar duit, nuair is gá duit é. Seachas an chumraíocht a athrú de láimh chun é seo a bhaint amach, is é bealach níos fearr ná cumraíocht a chur i bhfeidhm go huathoibríoch de réir an chomhshaoil.</p>\n<p>Mar shampla, d'fhéadfá athróg comhshaoil <code class=\"docutils literal notranslate\">DJANGO_LOG_LEVEL</code> a shocrú go cuí i do thimpeallachtaí forbartha agus stáitse, agus úsáid a bhaint as i mapáil logaire mar sin:</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;level&quot;</span><span class=\"p\">:</span> os<span class=\"o\">.</span>getenv<span class=\"p\">(</span><span class=\"s2\">&quot;DJANGO_LOG_LEVEL&quot;</span><span class=\"p\">,</span> <span class=\"s2\">&quot;WARNING&quot;</span><span class=\"p\">)</span>\n</code></pre></div>\n<p>- ionas nach gcuirfidh an chumraíocht seo ach taifid déine <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">`</span></a>RABHADH <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">`</span></a>RABHADH <a href=\"#id5\"><span class=\"problematic\" id=\"id6\">``</span></a>agus os cionn chuig a láimhseálaí mura sonraíonn an timpeallacht leibhéal logála níos ísle.</p>\n<p>Is féidir roghanna eile sa chumraíocht (mar shampla an rogha láimhseálaithe <code class=\"docutils literal notranslate\">leibhéil ``nó `formáiditheoir</code>) a bhainistiú ar an gcaoi chéanna.</p>\n</section>\n</section>","rootId":"how-to-configure-and-use-logging","toc":[{"title":"Déan glao logála bunúsach","anchor":"make-a-basic-logging-call","children":[]},{"title":"Saincheapadh cumraíocht logála","anchor":"customize-logging-configuration","children":[{"title":"Cumraíocht logála bunúsach","anchor":"basic-logging-configuration","children":[{"title":"Cruthaigh foclóir LOGGING","anchor":"create-a-logging-dictionary","children":[]},{"title":"Cumraigh láimhseálaí","anchor":"configure-a-handler","children":[]},{"title":"Cumraigh mapáil logger","anchor":"configure-a-logger-mapping","children":[]},{"title":"Cumraigh formáiditheoir","anchor":"configure-a-formatter","children":[]},{"title":"Úsáid spás ainmneacha logger","anchor":"use-logger-namespacing","children":[{"title":"Ag baint úsáide as ordlathais logger agus iomadú","anchor":"using-logger-hierarchies-and-propagation","children":[]}]}]},{"title":"Cumraigh logáil sofhreagrach","anchor":"configure-responsive-logging","children":[]}]}],"breadcrumbs":[{"docname":"howto/index","title":"Treoracha conas","url":"/ga/6.0/howto/"}],"prev":{"docname":"howto/static-files/index","title":"Conas comhaid statacha a bhainistiú (m.sh. íomhánna, JavaScript, CSS)","url":"/ga/6.0/howto/static-files/"},"next":{"docname":"howto/error-reporting","title":"Conas tuairisciú earráide a bhainisti","url":"/ga/6.0/howto/error-reporting/"},"formats":{"html":"/ga/6.0/howto/logging/","markdown":"/ga/6.0/howto/logging.md","json":"/ga/6.0/howto/logging.json"},"source":"https://github.com/django/django/blob/stable/6.0.x/docs/howto/logging.txt","official":"https://docs.djangoproject.com/ga/6.0/howto/logging/","inVersions":["6.1","6.0","5.2"],"inLocales":["en","sv","zh-hans","ga","fr","ja","id","it","pt-br","ko","es","el","pl"]}