{"title":"Conas logáil a chumrú agus a úsáid","version":"5.2","locale":"ga","docname":"howto/logging","url":"/ga/5.2/howto/logging/","canonical":"https://djangodocs.dev/ga/5.2/howto/logging/","summary":"See also <logging-ref>:ref: ` Tagairt logála Django ` <logging-explanation>:ref: ` Forbhreathnú logála Django ` Soláthraíonn Django oibrí:ref: ` cumraíocht logála…","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\">\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\">\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>Ar dtús, iompórtáil leabharlann logála Python, agus ansin faigh sampla logger le: py:func: logging.getLogger. Cuir ainm ar fáil don modh getLogger () ``chun é a aithint agus na taifid a astaíonn sé. Is é rogha maith ná ``__name__` a úsáid (féach: ref: naming-loggers thíos le haghaidh tuilleadh eolais faoi seo) a sholáthróidh ainm an mhodúil reatha Python mar chonair poncaí:</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=\"w\"> </span><span class=\"nn\">logging</span>\n\n<span class=\"n\">logger</span> <span class=\"o\">=</span> <span class=\"n\">logging</span><span class=\"o\">.</span><span class=\"n\">getLogger</span><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=\"w\"> </span><span class=\"nf\">some_view</span><span class=\"p\">(</span><span class=\"n\">request</span><span class=\"p\">):</span>\n    <span class=\"o\">...</span>\n    <span class=\"k\">if</span> <span class=\"n\">some_risky_state</span><span class=\"p\">:</span>\n        <span class=\"n\">logger</span><span class=\"o\">.</span><span class=\"n\">warning</span><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>Nuair a chuirtear an cód seo i bhfeidhm, seolfar a:py:class: ~logging.logRecord ina bhfuil an teachtaireacht sin chuig an logger. Má tá cumraíocht logála réamhshocraithe Django á úsáid agat, beidh an teachtaireacht le feiceáil sa chonsól.</p>\n<p>Tá an leibhéal <code class=\"docutils literal notranslate\"><span class=\"pre\">RABHADH</span> <span class=\"pre\">``a</span> <span class=\"pre\">úsáidtear</span> <span class=\"pre\">sa</span> <span class=\"pre\">sampla</span> <span class=\"pre\">thuas</span> <span class=\"pre\">ar</span> <span class=\"pre\">cheann</span> <span class=\"pre\">de</span> <span class=\"pre\">roinnt</span> <span class=\"pre\">leibhéil</span> <span class=\"pre\">déine</span> <span class=\"pre\">logála</span> <span class=\"pre\">`:</span> <span class=\"pre\">`DEBUG</span></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><span class=\"n\">logger</span><span class=\"o\">.</span><span class=\"n\">critical</span><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\">\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\"><span class=\"pre\">LOGGING</span></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><span class=\"n\">LOGGING</span> <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\"><span class=\"pre\">False</span></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\"><span class=\"pre\">file</span></code>, a úsáideann Python's:class: ~logging.fileHandler chun logaí de leibhéal <code class=\"docutils literal notranslate\"><span class=\"pre\">DEBUG`</span> <span class=\"pre\">agus</span> <span class=\"pre\">níos</span> <span class=\"pre\">airde</span> <span class=\"pre\">chuig</span> <span class=\"pre\">an</span> <span class=\"pre\">gcomhad</span> <span class=\"pre\">``general.log</span></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><span class=\"n\">LOGGING</span> <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>Glacann ranganna éagsúla láimhseálaithe roghanna cumraíochta &lt;logging.handlers&gt;Le haghaidh tuilleadh faisnéise faoi ranganna láimhseálaithe atá ar fáil, féach an:class: ~django.utils.log.adminEmailHandler a sholáthraíonn Django agus na ranganna éagsúla: py:mod: <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">`</span></a>handler <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">`</span></a>a sholáthraíonn 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><span class=\"n\">LOGGING</span> <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><span class=\"n\">logger</span><span class=\"o\">.</span><span class=\"n\">debug</span><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\"><span class=\"pre\">general.log</span></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\"><span class=\"pre\">simpl</span></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><span class=\"n\">LOGGING</span> <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\"><span class=\"pre\">style</span></code> duit <code class=\"docutils literal notranslate\"><span class=\"pre\">{</span></code> a shonrú for:meth: str.format nó <code class=\"docutils literal notranslate\"><span class=\"pre\">$</span></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>Sainmhínítear spás ainmneacha sampla logger ag baint úsáid:py:func: ~logging.getLogger. Mar shampla i views.py` de <code class=\"docutils literal notranslate\"><span class=\"pre\">my_app</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\">logger</span> <span class=\"o\">=</span> <span class=\"n\">logging</span><span class=\"o\">.</span><span class=\"n\">getLogger</span><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\"><span class=\"pre\">my_app.views</span></code>. Ligeann <code class=\"docutils literal notranslate\"><span class=\"pre\">__name__</span></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\"><span class=\"pre\">my_app.views</span></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><span class=\"n\">LOGGING</span> <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\"><span class=\"pre\">my_app</span></code> (lena n-áirítear <code class=\"docutils literal notranslate\"><span class=\"pre\">my_app.views</span></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><span class=\"n\">LOGGING</span> <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><span class=\"n\">logger</span> <span class=\"o\">=</span> <span class=\"n\">logging</span><span class=\"o\">.</span><span class=\"n\">getLogger</span><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\"><span class=\"pre\">my_app.views</span></code>, arb é tuismitheoir <code class=\"docutils literal notranslate\"><span class=\"pre\">my_app.views.private</span></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\"><span class=\"pre\">my_app.views.private</span></code> a láimhseáil le mapáil do <code class=\"docutils literal notranslate\"><span class=\"pre\">my_app</span></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><span class=\"n\">LOGGING</span> <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\"><span class=\"pre\">iomada</span></code> réamhshocraithe go <code class=\"docutils literal notranslate\"><span class=\"pre\">True</span></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\"><span class=\"pre\">DJANGO_LOG_LEVEL</span></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> <span class=\"n\">os</span><span class=\"o\">.</span><span class=\"n\">getenv</span><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\"><span class=\"pre\">leibhéil</span> <span class=\"pre\">``nó</span> <span class=\"pre\">`formáiditheoir</span></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/5.2/howto/"}],"prev":{"docname":"howto/static-files/index","title":"Conas comhaid statacha a bhainistiú (m.sh. íomhánna, JavaScript, CSS)","url":"/ga/5.2/howto/static-files/"},"next":{"docname":"howto/error-reporting","title":"Conas tuairisciú earráide a bhainisti","url":"/ga/5.2/howto/error-reporting/"},"formats":{"html":"/ga/5.2/howto/logging/","markdown":"/ga/5.2/howto/logging.md","json":"/ga/5.2/howto/logging.json"},"source":"https://github.com/django/django/blob/stable/5.2.x/docs/howto/logging.txt","official":"https://docs.djangoproject.com/ga/5.2/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"]}