Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π»ΠΎΠ³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π² python

Π›ΠΎΠ³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π² Python

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π»ΠΎΠ³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π² python. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π»ΠΎΠ³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π² python. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π»ΠΎΠ³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π² python. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π»ΠΎΠ³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π² python. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π»ΠΎΠ³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π² python

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π»ΠΎΠ³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π² python. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π»ΠΎΠ³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π² python. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π»ΠΎΠ³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π² python. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π»ΠΎΠ³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π² python. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π»ΠΎΠ³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π² python

Python ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ вСсьма ΡΠΈΠ»ΡŒΠ½ΡƒΡŽ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ логирования Π² стандартной Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅. МногиС программисты ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ print для лСчСния Π±Π°Π³ΠΎΠ² (Π² Ρ‚ΠΎΠΌ числС ΠΈ я), Π½ΠΎ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π»ΠΎΠ³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ для этих Ρ†Π΅Π»Π΅ΠΉ. ИспользованиС Π»ΠΎΠ³Π° Ρ‚Π°ΠΊΠΆΠ΅ Π±ΠΎΠ»Π΅Π΅ чистый ΠΌΠ΅Ρ‚ΠΎΠ΄, Ссли Π²Ρ‹ Π½Π΅ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΡ€ΠΎΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ вСсь свой ΠΊΠΎΠ΄, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ всС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ print. Π’ Π΄Π°Π½Π½ΠΎΠΌ Ρ€Π°Π·Π΄Π΅Π»Π΅ ΠΌΡ‹ рассмотрим ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:

К ΠΊΠΎΠ½Ρ†Ρƒ Π΄Π°Π½Π½ΠΎΠ³ΠΎ Ρ€Π°Π·Π΄Π΅Π»Π° Π²Ρ‹ смоТСтС ΡƒΠ²Π΅Ρ€Π΅Π½Π½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π»ΠΎΠ³ΠΈ для своих ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. ΠŸΡ€ΠΈΡΡ‚ΡƒΠΏΠΈΠΌ!

Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ простой Π»ΠΎΠ³Π³Π΅Ρ€

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π»ΠΎΠ³Π° ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ модуля logging это ΠΎΡ‡Π΅Π½ΡŒ просто. Для Π½Π°Ρ‡Π°Π»Π°, Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΡ‰Π΅ Π²Π·Π³Π»ΡΠ½ΡƒΡ‚ΡŒ Π½Π° Ρ‡Π°ΡΡ‚ΡŒ ΠΊΠΎΠ΄Π° ΠΈ ΠΎΠ±ΡŠΡΡΠ½ΠΈΡ‚ΡŒ Π΅Π³ΠΎ:

Как ΠΈ оТидалось, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ доступ ΠΊ ΠΌΠΎΠ΄ΡƒΠ»ΡŽ logging, для Π½Π°Ρ‡Π°Π»Π° Π½ΡƒΠΆΠ½ΠΎ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ. ΠŸΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠΈΠΉ способ создания Π»ΠΎΠ³Π° – это ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ basicConfig модуля logging ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ Π΅ΠΉ нСсколько ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ². Ѐункция ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅: filename, filemode, format, datefmt, level ΠΈ stream. Π’ нашСм ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅, ΠΌΡ‹ ΠΏΠ΅Ρ€Π΅Π΄Π°Π΄ΠΈΠΌ Π΅Ρ‘ названию Ρ„Π°ΠΉΠ»Π° ΠΈ ΡƒΡ€ΠΎΠ²Π½ΡŽ логирования, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ ΠΈ настроим Π² INFO.

БущСствуСт ΠΏΡΡ‚ΡŒ ΡƒΡ€ΠΎΠ²Π½Π΅ΠΉ логирования (Π² порядкС возрастания): DEBUG, INFO, WARNING, ERROR ΠΈ CRITICAL. По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, Ссли Π²Ρ‹ запуститС этот ΠΊΠΎΠ΄ нСсколько Ρ€Π°Π·, ΠΎΠ½ добавится Π² Π»ΠΎΠ³, Ссли ΠΎΠ½ сущСствуСт. Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ваш Π»ΠΎΠ³Π³Π΅Ρ€ пСрСзаписывал Π»ΠΎΠ³, ΠΏΠ΅Ρ€Π΅Π΄Π°ΠΉΡ‚Π΅ Π΅Π³ΠΎ filemode=”w”, ΠΊΠ°ΠΊ Π±Ρ‹Π»ΠΎ ΡƒΠΊΠ°Π·Π°Π½ΠΎ Π² ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ ΠΊ ΠΊΠΎΠ΄Ρƒ. Говоря ΠΎ запускС ΠΊΠΎΠ΄Π°, Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚, послС запуска:

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Python: Π›ΠΎΠ³ΠΈΡ€ΡƒΠ΅ΠΌ ΠΊΠ°ΠΊ профСссионалы

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π»ΠΎΠ³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π² python. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π»ΠΎΠ³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π² python. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π»ΠΎΠ³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π² python. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π»ΠΎΠ³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π² python. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π»ΠΎΠ³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π² python

Часто Π²ΠΈΠΆΡƒ, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠΌΠΈΠΌΠΎ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ, люди ΠΌΡƒΡ‡Π°ΡŽΡ‚ΡΡ ΠΊΠΎΠ΅ с Ρ‡Π΅ΠΌ Π΅Ρ‰Π΅, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ с Π»ΠΎΠ³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ.

Π‘ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ людСй Π½Π΅ Π·Π½Π°ΡŽΡ‚, Ρ‡Ρ‚ΠΎ ΠΏΠΈΡΠ°Ρ‚ΡŒ Π² Π»ΠΎΠ³ΠΈ, поэтому Ρ€Π΅ΡˆΠ°ΡŽΡ‚ Π»ΠΎΠ³ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ всС, Ρ‡Ρ‚ΠΎ ΡƒΠ³ΠΎΠ΄Π½ΠΎ, думая, Ρ‡Ρ‚ΠΎ всС подряд – это Π² любом случаС Π»ΡƒΡ‡ΡˆΠ΅, Ρ‡Π΅ΠΌ Π½ΠΈΡ‡Π΅Π³ΠΎ, ΠΈ, Π² ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΌ ΠΈΡ‚ΠΎΠ³Π΅, просто ΡΠΎΠ·Π΄Π°ΡŽΡ‚ ΡˆΡƒΠΌ. А ΡˆΡƒΠΌ – это информация, которая Π½ΠΈΠΊΠ°ΠΊ Π½Π΅ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ вашСй ΠΊΠΎΠΌΠ°Π½Π΄Π΅ ΠΏΠΎΠ½ΡΡ‚ΡŒ, Π² Ρ‡Π΅ΠΌ Π΄Π΅Π»ΠΎ ΠΈ ΠΊΠ°ΠΊ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ.

Π‘ΠΎΠ»Π΅Π΅ Ρ‚ΠΎΠ³ΠΎ, я Π½Π΅ Π΄ΡƒΠΌΠ°ΡŽ, Ρ‡Ρ‚ΠΎ эти люди ΠΌΠΎΠ³ΡƒΡ‚ ΡƒΠ²Π΅Ρ€Π΅Π½Π½ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ уровнями логирования, поэтому ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ logger.info Π²Π΅Π·Π΄Π΅ (Ссли Π½Π΅ ΠΏΠΈΡˆΡƒΡ‚ print ).

НаконСц, люди, ΠΏΠΎΡ…ΠΎΠΆΠ΅, Π½Π΅ Π·Π½Π°ΡŽΡ‚, ΠΊΠ°ΠΊ ΡΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π»ΠΎΠ³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π² Python, понятия Π½Π΅ ΠΈΠΌΠ΅ΡŽΡ‚, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ, Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Ρ‹, ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ форматирования (Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρ‚Π΅Ρ€Ρ‹) ΠΈ Ρ‚.Π΄.

ЦСль этой ΡΡ‚Π°Ρ‚ΡŒΠΈ – Ρ€Π°Π·ΡŠΡΡΠ½ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π»ΠΎΠ³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΠΊΠ°ΠΊ Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π΅Π³ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ. Π― ΠΏΠΎΡΡ‚Π°Ρ€Π°ΡŽΡΡŒ привСсти ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΈ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ вас Π³ΠΈΠ±ΠΊΠΈΠΌΠΈ эмпиричСскими ΠΏΡ€ΠΈΠ΅ΠΌΠ°ΠΌΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ слСдуСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈ Π»ΠΎΠ³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Π² любом ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π²Ρ‹ ΠΊΠΎΠ³Π΄Π°-Π»ΠΈΠ±ΠΎ Π±ΡƒΠ΄Π΅Ρ‚Π΅ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ.

Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΎΠ±Π»Π΅Π³Ρ‡Π°ΡŽΡ‚ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎΠ΅ восприятиС, поэтому ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ систСму:

ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ нСсколько ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΉ ΠΊ рСсурсам (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, GitHub, Slack, AWS ΠΈ Ρ‚.Π΄.)

РСсурсы ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ Π² зависимости ΠΎΡ‚ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ списков с GitHub, Π΄ΠΈΠ°Π»ΠΎΠ³ΠΈ ΠΈΠ· Slack, экзСмпляры списков EC2 ΠΈΠ· AWS ΠΈ Ρ‚.Π΄.)

КаТдая интСграция ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Π°, ΠΈΠΌΠ΅Π΅Ρ‚ свой Π½Π°Π±ΠΎΡ€ слоТностСй, ΠΊΠΎΠ½Π΅Ρ‡Π½Ρ‹Ρ… Ρ‚ΠΎΡ‡Π΅ΠΊ, шагов ΠΈ Ρ‚.Π΄.

КаТдая интСграция ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌ ошибкам, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡƒΡ‚ΡŒ Π² любоС врСмя (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, нСвСрная аутСнтификация, рСсурс Π½Π΅ сущСствуСт ΠΈ Ρ‚.Π΄.)

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π»ΠΎΠ³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π² python. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π»ΠΎΠ³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π² python. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π»ΠΎΠ³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π² python. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π»ΠΎΠ³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π² python. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π»ΠΎΠ³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π² python

Π― Π½Π΅ Π±ΡƒΠ΄Ρƒ ΡΠΎΡΡ€Π΅Π΄ΠΎΡ‚Π°Ρ‡ΠΈΠ²Π°Ρ‚ΡŒΡΡ Π½Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°Ρ… ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ Ρ‚Π°ΠΊΠΈΡ… ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΉ, просто ΠΏΡ€ΠΎΠ½Π°Π±Π»ΡŽΠ΄Π°Π΅ΠΌ Π·Π° Ρ‚Π΅ΠΌ, ΠΊΠ°ΠΊ это Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚.

ΠŸΡ€ΠΈΡ€ΠΎΠ΄Π° логирования: Ρ…ΠΎΡ€ΠΎΡˆΠ΅Π΅ Π»ΠΎΠ³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΠΌΠ΅Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅

Для Π½Π°Ρ‡Π°Π»Π° Π΄Π°Π²Π°ΠΉΡ‚Π΅ ΠΏΡ€ΠΎΠ°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅ΠΌ характСристики Π»ΠΎΠ³ΠΎΠ².

«Наглядными» ΠΌΡ‹ ΠΈΡ… Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌ ΠΏΠΎΡ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ Π²Π°ΠΌ ΠΊΠ°ΠΊΡƒΡŽ-Ρ‚ΠΎ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ, «контСкстными», ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ Π΄Π°ΡŽΡ‚ Π²Π°ΠΌ ΠΎΠ±Ρ‰Π΅Π΅ прСдставлСниС ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ обстоят Π΄Π΅Π»Π° Π½Π° Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. И Π½Π°ΠΊΠΎΠ½Π΅Ρ†, Β«Ρ€Π΅Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΌΠΈΒ» ΠΎΠ½ΠΈ ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΏΠΎΡ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Π²Π°ΠΌ ΠΏΡ€Π΅Π΄ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ дСйствия Ρ‚ΠΎΠ»ΡŒΠΊΠΎ послС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»ΠΎ (Π΄Π°ΠΆΠ΅ Ссли ваши Π»ΠΎΠ³ΠΈ ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡŽΡ‚ΡΡ/ΠΏΠΎΠ»ΡƒΡ‡Π°ΡŽΡ‚ΡΡ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, Π½Π° самом Π΄Π΅Π»Π΅ Π²Ρ‹ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Ρ‚ΠΎ).

Если Π²Ρ‹ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚Π΅ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΡ€ΠΎΠ΄Ρƒ Π»ΠΎΠ³ΠΎΠ², Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚Π΅ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΡˆΡƒΠΌ, Ρ‡Ρ‚ΠΎ снизит Π²Π°ΡˆΡƒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ.

Π”Π°Π»ΡŒΡˆΠ΅ я ΠΏΡ€ΠΈΠ²Π΅Π΄Ρƒ нСсколько ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ², основанных Π½Π° систСмС, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΌΡ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΠ»ΠΈ Π²Ρ‹ΡˆΠ΅:

Если Π²Ρ‹ Π·Π°Π΄Π°Π΄ΠΈΡ‚Π΅ описаниС, ΠΊ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ Β«operation connect failedΒ», Π½ΠΎ Π½Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚Π΅ контСкст, Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ½ΡΡ‚ΡŒ, какая ΠΈΠ· ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΉ Π½Π΅ ΠΎΡ‚Ρ€Π°Π±ΠΎΡ‚Π°Π»Π°, ΠΊΡ‚ΠΎ пострадал, Π½Π° ΠΊΠ°ΠΊΠΎΠΌ этапС ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ΅Π» сбой, поэтому ΠΈ ΡΡ€Π΅Π°Π³ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π²Ρ‹ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅. Π’ ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΌ ΠΈΡ‚ΠΎΠ³Π΅ Π²Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚Π΅ ΠΊΠΎΠΏΠ°Ρ‚ΡŒΡΡ Π² Ρ‚ΠΎΠ½Π½Π΅ Π»ΠΎΠ³ΠΎΠ² Π±Π΅Π· малСйшСго прСдставлСния ΠΎ Ρ‚ΠΎΠΌ, Π³Π΄Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°.

О, Π° Π΅Ρ‰Π΅ Π½Π΅ стоит Π½Π΅Π΄ΠΎΠΎΡ†Π΅Π½ΠΈΠ²Π°Ρ‚ΡŒ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ‚ΡŒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° ΠΈΡΠΏΠΎΡ€Ρ‚ΠΈΡ‚ΡŒ описаниС. Π‘Π΄Π΅Π»Π°Ρ‚ΡŒ это Π»Π΅Π³ΠΊΠΎ, просто ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΠ² повСрхностныС сообщСния Π±Π΅Π· ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Π»ΠΈΠ±ΠΎ контСкста, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Β«An error happenedΒ» ΠΈΠ»ΠΈ Β«An unexpected exception was raisedΒ». Если я ΠΏΡ€ΠΎΡ‡Ρ‚Ρƒ Ρ‚Π°ΠΊΠΎΠ΅, Ρ‚ΠΎ Π΄Π°ΠΆΠ΅ Π½Π΅ ΠΏΠΎΠΉΠΌΡƒ, Π½Π° Ρ‡Ρ‚ΠΎ повлияла ошибка, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Π½Π΅ Π±ΡƒΠ΄Ρƒ Π·Π½Π°Ρ‚ΡŒ, ЧВО ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎ ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»ΠΎ. Π’Π°ΠΊ Ρ‡Ρ‚ΠΎ Π΄Π°, ΠΌΠΎΠΆΠ½ΠΎ ΡΠ»ΠΎΠΌΠ°Ρ‚ΡŒ Π΄Π°ΠΆΠ΅ основной смысл Π»ΠΎΠ³ΠΎΠ².

Π›ΠΎΠ³ΠΈ – это ΠΊΠΎΠ½Ρ„ΠΈΠ΄Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½Π°Ρ информация ΠΈΠ· вашСго ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния, нуТная Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹ ΠΎΡΡ‚Π°Π²Π°Π»ΠΈΡΡŒ Π² курсС происходящСго ΠΈ ΠΌΠΎΠ³Π»ΠΈ Ρ€Π΅Π°Π³ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° ситуации. Π›ΡŽΠ±Ρ‹Π΅ Π»ΠΎΠ³ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ Π΄Π°ΡŽΡ‚ Π²Π°ΠΌ Ρ‚Π°ΠΊΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ – это ΡˆΡƒΠΌ.

Когда Π½ΡƒΠΆΠ½ΠΎ Π»ΠΎΠ³ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ?

Π§Ρ‚ΠΎΠ±Ρ‹ Π»ΠΎΠ³ΠΈ ΠΎΡΡ‚Π°Π²Π°Π»ΠΈΡΡŒ Ρ€Π΅Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΌΠΈ, Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π»ΠΎΠ³ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ «события». Π‘Π΄Π΅Π»Π°ΠΉΡ‚Π΅ ΠΈΡ… Ρ‚Π°ΠΊΠΈΠΌΠΈ ΠΆΠ΅ понятными ΠΈ ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΌΠΈ для чтСния, ΠΊΠ°ΠΊ эта ΡΡ‚Π°Ρ‚ΡŒΡ. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π²Ρ‹ Π½Π΅ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Π»ΠΈ ΠΊΠ°ΠΆΠ΄ΡƒΡŽ строку, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ я написал Π²Ρ‹ΡˆΠ΅, Π½ΠΎ Π²Ρ‹ всС Ρ€Π°Π²Π½ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ΡŒ дальшС, ΠΏΡ€ΠΎΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Π½Π΅Π½ΡƒΠΆΠ½Ρ‹Π΅ Ρ€Π°Π·Π΄Π΅Π»Ρ‹ ΠΈ ΡΠΎΡΡ€Π΅Π΄ΠΎΡ‚ΠΎΡ‡ΠΈΡ‚ΡŒΡΡ Π½Π° Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²Π»Π΅ΠΊΠ»ΠΎ вашС Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅. Π›ΠΎΠ³ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ Ρ‚Π°ΠΊΠΈΠΌΠΈ ΠΆΠ΅.

Π•ΡΡ‚ΡŒ эмпиричСскоС ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ построСниС Π»ΠΎΠ³ΠΎΠ²:

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π»ΠΎΠ³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π² python. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π»ΠΎΠ³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π² python. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π»ΠΎΠ³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π² python. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π»ΠΎΠ³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π² python. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π»ΠΎΠ³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π² python

    Π’ Π½Π°Ρ‡Π°Π»Π΅ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ ΠΈΠ»ΠΈ ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΡ€ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ ΠΊ сторонним сСрвисам ΠΈ Ρ‚.Π΄.);

    ΠŸΡ€ΠΈ любом достигнутом прогрСссС (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΡƒΡΠΏΠ΅ΡˆΠ½Π°Ρ аутСнтификация, ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ Π²Π°Π»ΠΈΠ΄Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ ΠΎΡ‚Π²Π΅Ρ‚Π° ΠΈ Ρ‚.Π΄.);

    ΠŸΡ€ΠΈ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ (ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠΌ ΠΈΠ»ΠΈ Π½Π΅ΡƒΠ΄Π°Ρ‡Π½ΠΎΠΌ).

    Π›ΠΎΠ³ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Ρ€Π°ΡΡΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ Π²Π°ΠΌ ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ, Ρƒ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ истории Π΅ΡΡ‚ΡŒ Π½Π°Ρ‡Π°Π»ΠΎ, сСрСдина ΠΈ ΠΊΠΎΠ½Π΅Ρ†.

    Π‘ΡƒΠ΄ΡŒΡ‚Π΅ остороТны с Ρ€Π΅Π»Π΅Π²Π°Π½Ρ‚Π½ΠΎΡΡ‚ΡŒΡŽ, Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ Π»ΠΎΠ³ΠΈ ΠΏΡ€ΠΎΡ‰Π΅, Ρ‡Π΅ΠΌ ΡƒΠ΄Π°Π»ΡΡ‚ΡŒ ΠΈΡ…, вСдь всС, Ρ‡Ρ‚ΠΎ Π½Π΅Ρ€Π΅Π»Π΅Π²Π°Π½Ρ‚Π½ΠΎ – ΡˆΡƒΠΌ.

    Π§Ρ‚ΠΎ Π»ΠΎΠ³ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ?

    Π§Ρ‚ΠΎΠ±Ρ‹ Π»ΠΎΠ³ΠΈ Π±Ρ‹Π»ΠΈ наглядными ΠΈ контСкстными, Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, ΠΈ я Π½Π΅ ΠΌΠΎΠ³Ρƒ ΡΠΊΠ°Π·Π°Ρ‚ΡŒ, какая информация Π±ΡƒΠ΄Π΅Ρ‚ ΡΠ²Π»ΡΡ‚ΡŒΡΡ Ρ‚Π°ΠΊΠΎΠ²ΠΎΠΉ, Π½Π΅ зная вашСго случая. Π”Π°Π²Π°ΠΉΡ‚Π΅ вмСсто этого Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡΡ нашим ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠΌ.

    Рассмотрим ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡŽ с AWS Π² качСствС ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°. Π‘Ρ‹Π»ΠΎ Π±Ρ‹ ΠΊΡ€ΡƒΡ‚ΠΎ ΠΈΠΌΠ΅Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ сообщСния:

    Π₯ΠΎΡ€ΠΎΡˆΠΈΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π»ΠΎΠ³ΠΎΠ²

    Π‘ΠΎΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅

    ПониманиС ΠΊΠ°Ρ€Ρ‚ΠΈΠ½Ρ‹

    ΠšΠΎΠ½Ρ‚Π΅ΠΊΡΡ‚

    ΠΠ°Ρ‡Π°Π»Π°ΡΡŒ опСрация с AWS

    Атрибуты Π»ΠΎΠ³Π° Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ΡŒ ΠΌΠ½Π΅ Π²Ρ‹ΡΡΠ½ΠΈΡ‚ΡŒ, ΠΊΡ‚ΠΎ Π΅Π³ΠΎ Π²Ρ‹Π·Π²Π°Π»

    Retrieved instances from all regions

    Π‘Ρ‹Π» достигнут сущСствСнный прогрСсс

    Connection to AWS has been successful

    ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΡ с AWS Π·Π°Π²Π΅Ρ€ΡˆΠΈΠ»Π°ΡΡŒ

    Атрибуты Π»ΠΎΠ³Π° Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ΡŒ ΠΌΠ½Π΅ Π½Π°ΠΉΡ‚ΠΈ сущности, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ опСрация ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π»Π° ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ эффСкт

    ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Π»ΠΎΠ³ΠΎΠ² ΠΎΠ± ΠΎΡˆΠΈΠ±ΠΊΠ°Ρ…

    Допустим, Ρ‡Ρ‚ΠΎ ΠΈΠ·Π²Π»Π΅Ρ‡ΡŒ экзСмпляры ΠΈΠ· Ρ€Π΅Π³ΠΈΠΎΠ½Π° af-south-1 Π½Π΅ ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΠΈΠ·-Π·Π° ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ Π²Π½Π΅Π·Π°ΠΏΠ½ΠΎΠΉ ошибки Π² этом Ρ€Π΅Π³ΠΈΠΎΠ½Π΅.

    Π‘ΠΎΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅

    ПониманиС ΠΊΠ°Ρ€Ρ‚ΠΈΠ½Ρ‹

    ΠšΠΎΠ½Ρ‚Π΅ΠΊΡΡ‚

    ΠΠ°Ρ‡Π°Π»Π°ΡΡŒ опСрация с AWS

    Атрибуты Π»ΠΎΠ³Π° Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ΡŒ ΠΌΠ½Π΅ Π²Ρ‹ΡΡΠ½ΠΈΡ‚ΡŒ, ΠΊΡ‚ΠΎ Π΅Π³ΠΎ Π²Ρ‹Π·Π²Π°Π»

    Failed to retrieve instances from regions af-south-1 when connecting to AWS for user X

    ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΡ AWS Π½Π΅ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½Π°, ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ΅Π» сбой Π² Ρ€Π΅Π³ΠΈΠΎΠ½Π΅ af-south-1, пострадал ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ X

    Π― Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΠΌΠ΅Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ трассировку стСка ошибки, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ½ΡΡ‚ΡŒ, ΠΏΠΎΡ‡Π΅ΠΌΡƒ ΠΈΠ·Π²Π»Π΅Ρ‡Π΅Π½ΠΈΠ΅ Π½Π΅ ΡƒΠ΄Π°Π»ΠΎΡΡŒ

    Π’ ΠΎΠ±ΠΎΠΈΡ… случаях, я ΠΌΠΎΠ³Ρƒ ΠΎΡ‚ΡΠ»Π΅Π΄ΠΈΡ‚ΡŒ, ΠΊΠΎΠ³Π΄Π° ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»ΠΎ ΠΊΠ°ΠΊΠΎΠ΅-Ρ‚ΠΎ событиС (Π² Π»ΠΎΠ³Π°Ρ… Π΅ΡΡ‚ΡŒ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΊΠΈ ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ), Ρ‡Ρ‚ΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»ΠΎ ΠΈ ΠΊΡ‚ΠΎ ΠΎΡ‚ этого пострадал.

    Π― Ρ€Π΅ΡˆΠΈΠ» Π½Π΅ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΏΡ€ΠΈ Π½Π°Ρ‡Π°Π»Π΅ ΠΈ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠΌ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ это Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ значСния (вСдь это ΡˆΡƒΠΌ), ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ:

    Если я знаю, Ρ‡Ρ‚ΠΎ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π·Π°ΠΏΡƒΡΡ‚ΠΈΠ»ΠΎΡΡŒ, Π½ΠΎ Π½Π΅ знаю Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° выполнСния, Ρ‚ΠΎ Ρ‡Ρ‚ΠΎ я ΠΌΠΎΠ³Ρƒ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ?

    Если всС Ρ…ΠΎΡ€ΠΎΡˆΠΎ, Ρ‚ΠΎ Π·Π°Ρ‡Π΅ΠΌ Π±Π΅ΡΠΏΠΎΠΊΠΎΠΈΡ‚ΡŒΡΡ?

    Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Ρ‚Π°ΠΊΠΈΡ… Π΄Π°Π½Π½Ρ‹Ρ… Π΄Π΅Π»Π°Π΅Ρ‚ Π»ΠΎΠ³ΠΈ ΡˆΡƒΠΌΠ½Ρ‹ΠΌΠΈ, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Π½Π° Π½ΠΈΡ… Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π΅Π°Π³ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, Π΄Π΅Π»Π°Ρ‚ΡŒ-Ρ‚ΠΎ с этим Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ Π½Π°Π΄ΠΎ! Но я всС Π΅Ρ‰Π΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ Π² состоянии ΡΠΎΠ±Ρ€Π°Ρ‚ΡŒ Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΈΠ· Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ² (ΠΊΡ‚ΠΎ, ΠΊΠΎΠ³Π΄Π°, ΠΏΠΎΡ‡Π΅ΠΌΡƒ ΠΈ Ρ‚.Π΄.). Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ ΠΈΠ·ΠΌΠ΅Ρ€ΠΈΡ‚ΡŒ, Π²Π°ΠΌ слСдуСт Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠ°ΠΌΠΈ, Π° Π½Π΅ Π»ΠΎΠ³Π°ΠΌΠΈ.

    Π‘ Π΄Ρ€ΡƒΠ³ΠΎΠΉ стороны, Π»ΠΎΠ³ΠΈ ΠΎΠ± ΠΎΡˆΠΈΠ±ΠΊΠ°Ρ… каТутся Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Ρ‹ΠΌΠΈ, ΠΈ Ρ‚Π°ΠΊ ΠΈ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ! Π§Ρ‚Π΅Π½ΠΈΠ΅ Ρ‚Π°ΠΊΠΈΡ… Π»ΠΎΠ³ΠΎΠ² Π΄Π°Π΅Ρ‚ достаточно увСрСнности, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΊ дСйствиям:

    Π‘Π²ΡΠΆΠΈΡ‚Π΅ΡΡŒ с ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ Π₯ ΠΈ сообщитС Π΅ΠΌΡƒ, Ρ‡Ρ‚ΠΎ Π²Π°ΠΌ извСстно ΠΎ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ΅ Π² этом Ρ€Π΅Π³ΠΈΠΎΠ½Π΅.

    ΠšΠ»ΡŽΡ‡Π΅Π²ΠΎΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ: Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΡ‚Ρ€Π΅Π°Π³ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ сразу ΠΈ для этого Π²Π°ΠΌ Π½Π΅ трСбуСтся Π±ΠΎΠ»Π΅Π΅ Π³Π»ΡƒΠ±ΠΎΠΊΠΎΠ³ΠΎ изучСния ситуации. Π’Ρ‹ Π·Π½Π°Π΅Ρ‚Π΅ всС, Ρ‡Ρ‚ΠΎ Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ, ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ ΠΏΡ€ΠΈΠ½ΡΡ‚ΡŒ ΠΌΠ΅Ρ€Ρ‹ для ΡƒΠΌΠ΅Π½ΡŒΡˆΠ΅Π½ΠΈΡ ΡƒΡ‰Π΅Ρ€Π±Π°. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, потрСбуСтся ΡƒΠ³Π»ΡƒΠ±ΠΈΡ‚ΡŒΡΡ Π² трассировку стСка, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ±Ρ€Π°Ρ‚ΡŒ большС контСкста (Π² случаС с ошибкой), Π½ΠΎ общая ΠΊΠ°Ρ€Ρ‚ΠΈΠ½Π° ΡƒΠΆΠ΅ становится ясна.

    Π›ΡŽΠ±ΠΎΠ΅ сообщСниС ΠΎΠ± ошибкС, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ отсутствуСт эта минимальная информация, становится ΡˆΡƒΠΌΠΎΠΌ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Ρƒ вас появляСтся бСспокойство, Π½ΠΎ Π²Ρ‹ всС Π΅Ρ‰Π΅ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ. Π‘Π½Π°Ρ‡Π°Π»Π° Π½ΡƒΠΆΠ½ΠΎ ΡƒΠ³Π»ΡƒΠ±ΠΈΡ‚ΡŒΡΡ Π² ΡΠΈΡ‚ΡƒΠ°Ρ†ΠΈΡŽ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ½ΡΡ‚ΡŒ, насколько ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° ΡΠ΅Ρ€ΡŒΠ΅Π·Π½Π°.

    Если Π²Ρ‹ всС Π΅Ρ‰Π΅ Π½Π΅ поняли, ΠΊΠ°ΠΊ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Π΅ сообщСния, я подСлюсь с Π²Π°ΠΌΠΈ ΠΎΡ‡Π΅Π½ΡŒ простым Π»Π°ΠΉΡ„Ρ…Π°ΠΊΠΎΠΌ:

    ВсСгда ΡΠΏΡ€Π°ΡˆΠΈΠ²Π°ΠΉΡ‚Π΅ сСбя: Π§Ρ‚ΠΎ я Ρ…ΠΎΡ‡Ρƒ ΡƒΡΡΠ½ΠΈΡ‚ΡŒ для сСбя, послС получСния Ρ‚Π°ΠΊΠΎΠ³ΠΎ Π»ΠΎΠ³Π°?

    ΠŸΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»Π΅Π½ΠΈΠ΅ контСкста с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Python

    Π’ Python Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹ Π»ΠΎΠ³ΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ поля, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

    ΠšΠΎΠ½Ρ‚Π΅ΠΊΡΡ‚ Π½Π΅ отмСняСт нСобходимости Π² ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… сообщСниях! ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ я Π±Ρ‹ Ρ‚Π°ΠΊ Π½Π΅ Π΄Π΅Π»Π°Π»:

    БообщСния Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ Ρ‡Π΅Ρ‚ΠΊΠΈΠΌΠΈ ΠΈ Π½Π΅ ΠΎΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ мСста вопросам ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΆΠ΅ Π²ΠΎΠΎΠ±Ρ‰Π΅ происходит. ΠšΠΎΠ½Ρ‚Π΅ΠΊΡΡ‚ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΎΠ±ΠΎΠ³Π°Ρ‰Π°Ρ‚ΡŒ ваш ΠΎΠΏΡ‹Ρ‚, прСдоставив ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ Π±ΠΎΠ»Π΅Π΅ Π³Π»ΡƒΠ±ΠΎΠΊΠΈΡ… дСталях, ΠΈ Π΄Π°Π²Π°Ρ‚ΡŒ Π²Π°ΠΌ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΠΏΠΎ ΠΊΠ°ΠΊΠΎΠΉ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π΅ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»ΠΎ.

    НСчто большСС, Ρ‡Π΅ΠΌ logger.info ΠΈ logger.error

    НС Ρ‚Π°ΠΊ-Ρ‚ΠΎ просто ΠΏΠΎΠ½ΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ происходит, ΠΊΠΎΠ³Π΄Π° тысячи ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ² Π²Ρ‹Π΄Π°ΡŽΡ‚ Π»ΠΎΠ³ΠΈ Β«Connecting to SlackΒ». ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π²Ρ‹ Π²Ρ‹Π΄Π°Π΅Ρ‚Π΅ Π»ΠΎΠ³ΠΈ, Π° вашим ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ нСсколько ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ², Π½ΡƒΠΆΠ½ΠΎ ΠΈΠΌΠ΅Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΏΠΎ рСлСвантности.

    Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΠΏΡ€ΠΎΡΡ‚ΠΈΡ‚ΡŒ ΡΠΈΡ‚ΡƒΠ°Ρ†ΠΈΡŽ, Π²ΠΎΡ‚ Π²Π°ΠΌ Π½ΠΎΠ²ΠΎΠ΅ эмпиричСскоС ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ (Π±ΡƒΠ΄ΡŒΡ‚Π΅ Π³ΠΈΠ±ΠΊΠΈΠΌΠΈ):

    Π£Ρ€ΠΎΠ²Π΅Π½ΡŒ

    Когда ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ

    Для ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡŽΡ‰Π΅ΠΉΡΡ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π±Ρ‹Π»ΠΎ Π±Ρ‹ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π²Ρ‹Π΄Π°Π²Π°Ρ‚ΡŒ вСсь контСкст ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, Π½ΠΎ ΠΏΠΎΡ€ΠΎΠΉ этого Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ.

    Когда происходит Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π²Π°ΠΆΠ½ΠΎΠ΅, достойноС Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎ Π½Π΅ΠΌ Π±Ρ‹Π»ΠΎ извСстно Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ.

    Π‘Π»ΡƒΡ‡ΠΈΠ»ΠΎΡΡŒ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ странноС (Π½ΠΎ Π½Π΅ ΠΏΡ€Π΅Ρ€Π²Π°Π»ΠΎ ΠΏΠΎΡ‚ΠΎΠΊ/ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ). Если ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π²ΠΎΠ·Π½ΠΈΠΊΠ½Π΅Ρ‚ Π½Π° Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ·Π΄Π½ΠΈΡ… этапах, Ρ‚Π°ΠΊΠΎΠΉ Π»ΠΎΠ³ ΠΌΠΎΠΆΠ΅Ρ‚ Π΄Π°Ρ‚ΡŒ Π²Π°ΠΌ подсказку.

    ΠŸΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»Π° ошибка, Π΅Π΅ слСдуСт ΡƒΡΡ‚Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ быстрСС.

    ΠŸΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»Π° ΠΎΡ‡Π΅Π½ΡŒ ΡΠ΅Ρ€ΡŒΠ΅Π·Π½Π°Ρ ошибка, ΠΎΠ½Π° Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎΠ³ΠΎ Π²ΠΌΠ΅ΡˆΠ°Ρ‚Π΅Π»ΡŒΡΡ‚Π²Π°. Если Π½Π΅ ΡƒΠ²Π΅Ρ€Π΅Π½Ρ‹ Π² критичности ошибки, примСняйтС ERROR .

    Для описанной систСмы/ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ², я Π±Ρ‹ использовал ΡƒΡ€ΠΎΠ²Π½ΠΈ Π»ΠΎΠ³ΠΎΠ², ΠΊΠ°ΠΊ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΎ:

    Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π»ΠΎΠ³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π² python. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π»ΠΎΠ³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π² python. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π»ΠΎΠ³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π² python. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π»ΠΎΠ³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π² python. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π»ΠΎΠ³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π² python

    Π§Ρ‚ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ с logger.critical ΠΈ logger.warning ?

    WARNING – нСдостаточно вСская ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π° для остановки ΠΏΠΎΡ‚ΠΎΠΊΠ°, ΠΎΠ΄Π½Π°ΠΊΠΎ это ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ Π½Π° Π±ΡƒΠ΄ΡƒΡ‰Π΅Π΅, Ссли Π²ΠΎΠ·Π½ΠΈΠΊΠ½Π΅Ρ‚ какая-Ρ‚ΠΎ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°.

    CRITICAL – самый Ρ‚Ρ€Π΅Π²ΠΎΠΆΠ½Ρ‹ΠΉ ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π°ΡŽΡ‰ΠΈΠΉ Π»ΠΎΠ³, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹ ΠΊΠΎΠ³Π΄Π°-Π»ΠΈΠ±ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅. По сути, ΠΎΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ Ρ‚ΠΎΠΉ самой ΠΏΡ€ΠΈΡ‡ΠΈΠ½ΠΎΠΉ Π²ΡΡ‚Π°Ρ‚ΡŒ Π² Ρ‚Ρ€ΠΈ часа Π½ΠΎΡ‡ΠΈ ΠΈ ΠΏΠΎΠΉΡ‚ΠΈ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Ρ‡ΠΈΠ½ΠΈΡ‚ΡŒ.

    Для этих случаСв ΠΌΡ‹ рассмотрим:

    Для AWS: Ссли ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ Ρ€Π΅Π³ΠΈΠΎΠ½ AWS нСдоступСн, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Ρƒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Ρ‚Π°ΠΌ Π½Π΅Ρ‚ Π½ΠΈΠΊΠ°ΠΊΠΈΡ… рСсурсов, поэтому ΠΌΠΎΠΆΠ½ΠΎ Π΄Π²ΠΈΠ³Π°Ρ‚ΡŒΡΡ дальшС.

    Для Slack: Ссли OAuth Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ΡΡ Π½Π΅ΡƒΠ΄Π°Ρ‡Π½ΠΎ ΠΈΠ·-Π·Π° Π½Π΅Π²Π°Π»ΠΈΠ΄Π½ΠΎΠ³ΠΎ id ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°, Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ столкнутся с Ρ‚ΠΎΠΉ ΠΆΠ΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΎΠΉ, интСграция Π½Π΅ ΠΎΡ‚Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚, ΠΏΠΎΠΊΠ° ΠΌΡ‹ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ Π½Π΅ сгСнСрируСм Π½ΠΎΠ²Ρ‹ΠΉ id. Π­Ρ‚ΠΎ Π΄Π΅Π»ΠΎ каТСтся достаточно ΠΊΡ€ΠΈΡ‚ΠΈΡ‡Π½Ρ‹ΠΌ.

    Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π»ΠΎΠ³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π² python. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π»ΠΎΠ³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π² python. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π»ΠΎΠ³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π² python. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π»ΠΎΠ³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π² python. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π»ΠΎΠ³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π² python

    НСпопулярноС ΠΌΠ½Π΅Π½ΠΈΠ΅: использованиС DEBUG -уровня Π½Π° ΠΏΡ€ΠΎΠ΄Π°ΠΊΡˆΠ΅Π½Π΅

    Π”Π°, я ΡΡ‡ΠΈΡ‚Π°ΡŽ, Ρ‡Ρ‚ΠΎ Π»ΠΎΠ³ΠΈ DEBUG Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° ΠΏΡ€ΠΎΠ΄Π°ΠΊΡˆΠ΅Π½Π΅.

    Π”Ρ€ΡƒΠ³ΠΎΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ – Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π΄Π΅Π±Π°Π³ послС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ странная ошибка ΠΏΠΎΡ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Π±ΠΎΠ»Π΅Π΅ Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Ρ€Π°Π·Π±ΠΈΡ€Π°Ρ‚Π΅Π»ΡŒΡΡ‚Π²Π°.

    ΠŸΡ€ΠΎΡΡ‚ΠΈΡ‚Π΅, Π½ΠΎ для мСня Ρ‚Π°ΠΊΠΎΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ нСдопустим.

    Π’ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ ΠΌΠΈΡ€Π΅ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°ΠΌ Π½ΡƒΠΆΠ½Π° быстрая рСакция, ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ свою Ρ€Π°Π±ΠΎΡ‚Ρƒ ΠΈ постоянно ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ систСмы Π² Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌ состоянии. Π£ мСня Π½Π΅Ρ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΈ пропускной способности для Π½ΠΎΠ²ΠΎΠ³ΠΎ дСплоя ΠΈΠ»ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Ρ„Π»Π°Π³Π° ΠΈ оТидания повторСния ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹. Π― Π΄ΠΎΠ»ΠΆΠ΅Π½ Ρ€Π΅Π°Π³ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° Π½Π΅ΠΎΠΆΠΈΠ΄Π°Π½Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Π² считанныС сСкунды, Π° Π½Π΅ ΠΌΠΈΠ½ΡƒΡ‚Ρ‹.

    ΠŸΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ настройтС Π»ΠΎΠ³Π³Π΅Ρ€

    Π•Ρ‰Π΅ я Π·Π°ΠΌΠ΅Ρ‡Π°ΡŽ, Ρ‡Ρ‚ΠΎ люди ΠΈΡΠΏΡ‹Ρ‚Ρ‹Π²Π°ΡŽΡ‚ трудности ΠΏΡ€ΠΈ настройкС Π»ΠΎΠ³Π³Π΅Ρ€Π° (ΠΈΠ»ΠΈ Π²ΠΎΠΎΠ±Ρ‰Π΅ Π΅Π³ΠΎ Π½Π΅ Π½Π°ΡΡ‚Ρ€Π°ΠΈΠ²Π°ΡŽΡ‚). ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, докумСнтация Π² Python Π½Π΅ ΠΎΡ‡Π΅Π½ΡŒ Π΄Ρ€ΡƒΠΆΠ΅Π»ΡŽΠ±Π½Π°Ρ, Π½ΠΎ это Π½Π΅ ΠΎΠΏΡ€Π°Π²Π΄Π°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²ΠΎΠΎΠ±Ρ‰Π΅ Π΅Π΅ Π½Π΅ Ρ‚Ρ€ΠΎΠ³Π°Ρ‚ΡŒ.

    ИспользованиС Ρ€ΡƒΡ‡Π½Ρ‹Ρ… ΠΊΠΎΠΌΠ°Π½Π΄ нСпросто ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ ΠΈ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ;

    fileConfig – нСгибкая история, Ρƒ вас Π½Π΅ Π±Ρ‹Π²Π°Π΅Ρ‚ динамичСских Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ (Π±Π΅Π· Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… фокусов);

    dictConfig – простая история Π² запускС ΠΈ настройкС.

    Π― подСлюсь нСсколькими совСтами ΠΈ опрСдСлСниями, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Π°ΠΌ Π½Π°Π΄ΠΎ Π·Π½Π°Ρ‚ΡŒ, Π° Π·Π°Ρ‚Π΅ΠΌ ΠΌΡ‹ создадим ΠΎΠΊΠΎΠ½Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½ΡƒΡŽ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ Π½Π° Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°Ρ… ΠΈΠ· ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ², Π½Π°Π΄ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ я Ρ€Π°Π±ΠΎΡ‚Π°ΡŽ.

    Π’ΠΎΡ‚ кусочСк Ρ‚ΠΎΠ³ΠΎ, ΠΎ Ρ‡Π΅ΠΌ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ΡŒ дальшС:

    Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π»ΠΎΠ³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π² python. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π»ΠΎΠ³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π² python. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π»ΠΎΠ³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π² python. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π»ΠΎΠ³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π² python. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π»ΠΎΠ³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π² python

    Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π»ΠΎΠ³Π³Π΅Ρ€Ρ‹?

    Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π»ΠΎΠ³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π² python. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π»ΠΎΠ³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π² python. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π»ΠΎΠ³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π² python. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π»ΠΎΠ³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π² python. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π»ΠΎΠ³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π² python

    Π’ любом случаС, ΠΏΡ€ΠΈΠ΄Π΅Ρ€ΠΆΠΈΠ²Π°ΠΉΡ‚Π΅ΡΡŒ:

    Π€ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΡƒΠΉΡ‚Π΅ Π»ΠΎΠ³ΠΈ

    Π€ΠΎΡ€ΠΌΠ°Ρ‚Ρ‚Π΅Ρ€Ρ‹ Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ для Π²Ρ‹Π²ΠΎΠ΄Π° ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠ³ΠΎ сообщСния ΠΈ ΠΎΡ‚Π²Π΅Ρ‡Π°ΡŽΡ‚ Π·Π° Π½Π΅Π³ΠΎ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Π² ΠΊΠΎΠ½Π΅Ρ‡Π½ΡƒΡŽ строку.

    Когда я Ρ€Π°Π±ΠΎΡ‚Π°Π» Π² Zak (Π±Ρ‹Π²ΡˆΠ΅ΠΌ Mimic), ΠΈ Π΄Π°ΠΆΠ΅ сСгодня Π² Lumos ΠΌΡ‹ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π»ΠΈ Π»ΠΎΠ³ΠΈ ΠΊΠ°ΠΊ JSON. Он являСтся Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΌ стандартом для систСм, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΡ… Π½Π° ΠΏΡ€ΠΎΠ΄Π°ΠΊΡˆΠ΅Π½Π΅, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ содСрТит мноТСство Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ². ΠŸΡ€ΠΎΡ‰Π΅ Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ JSON, Ρ‡Π΅ΠΌ ΠΎΠ±Ρ‹Ρ‡Π½ΡƒΡŽ Π΄Π»ΠΈΠ½Π½ΡƒΡŽ строку, ΠΈ для этого Π²Π°ΠΌ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ свой собствСнный Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρ‚Π΅Ρ€ (ΠΎΠ·Π½Π°ΠΊΠΎΠΌΡŒΡ‚Π΅ΡΡŒ с python-json-logger).

    Для локальной Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ я Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΡŽ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ для простоты.

    Π’Π°ΡˆΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°Π²ΠΈΡΠ΅Ρ‚ΡŒ ΠΎΡ‚ Π²ΠΈΠ΄Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. Для Tryceratops я Ρ€Π΅ΡˆΠΈΠ» ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΉ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρ‚Π΅Ρ€, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΎΠ½ ΠΏΡ€ΠΎΡ‰Π΅ ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ локально, Ρ‚Π°ΠΌ Π½Π΅Ρ‚ Π½ΡƒΠΆΠ΄Ρ‹ Π² JSON.

    Π€ΠΈΠ»ΡŒΡ‚Ρ€ΡƒΠΉΡ‚Π΅ Π»ΠΎΠ³ΠΈ

    Π€ΠΈΠ»ΡŒΡ‚Ρ€Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π»ΠΈΠ±ΠΎ для Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ Π»ΠΎΠ³ΠΎΠ² (Π²Π½Π΅Π·Π°ΠΏΠ½ΠΎ), Π»ΠΈΠ±ΠΎ для добавлСния Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ контСкста Π² запись Π»ΠΎΠ³Π°. РассматривайтС Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Ρ‹, ΠΊΠ°ΠΊ Ρ…ΡƒΠΊΠΈ, Π²Ρ‹Π·Ρ‹Π²Π°Π΅ΠΌΡ‹Π΅ Π΄ΠΎ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈΡ‚ΠΎΠ³ΠΎΠ²ΠΎΠ³ΠΎ Π»ΠΎΠ³Π°.

    Π˜Ρ… ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

    Или ΠΈΡ… ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ прямо Π² Π»ΠΎΠ³Π³Π΅Ρ€ ΠΈΠ»ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ для упрощСния Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ ΠΏΠΎ уровням (скоро Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹).

    ΠžΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΠΉΡ‚Π΅ Π»ΠΎΠ³ΠΈ ΠΈ Ρ‚ΠΎ, ΠΊΠ°ΠΊ всС связано

    ΠžΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ ΠΈΠ· сСбя ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΈ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρ‚Π΅Ρ€ΠΎΠ², Π²Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… (ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ²) ΠΈ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠ².

    Π‘ Π½ΠΈΠΌΠΈ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΈ:

    Π’Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ всС Π»ΠΎΠ³ΠΈ ΠΈΠ· info (Ρ„ΠΈΠ»ΡŒΡ‚Ρ€), Π° ΠΏΠΎΡ‚ΠΎΠΌ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ JSON Π² консоль.

    Π’Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ всС Π»ΠΎΠ³ΠΈ, начиная с error (Ρ„ΠΈΠ»ΡŒΡ‚Ρ€) Π² Ρ„Π°ΠΉΠ», содСрТащий Ρ‚ΠΎΠ»ΡŒΠΊΠΎ сообщСниС ΠΈ трассировку стСка (Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρ‚Π΅Ρ€).

    НаконСц Π»ΠΎΠ³Π³Π΅Ρ€Ρ‹ ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ.

    ΠŸΡ€ΠΈΠΌΠ΅Ρ€ logging.dictConfig

    Π’Π΅ΠΏΠ΅Ρ€ΡŒ, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅Ρ‚Π΅, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°ΡŽΡ‚ всС эти ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, Π΄Π°Π²Π°ΠΉΡ‚Π΅ ΠΏΠΈΡΠ°Ρ‚ΡŒ собствСнныС! Как всСгда, я ΠΏΠΎΡΡ‚Π°Ρ€Π°ΡŽΡΡŒ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ Π²Π°ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΈΠ· Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΉ ΠΆΠΈΠ·Π½ΠΈ. Π― Π±ΡƒΠ΄Ρƒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ Tryceratops. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ ссылку ΠΈ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΠΊΠΎΠ½Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½ΡƒΡŽ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ.

    Π¨Π°Π±Π»ΠΎΠ½ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ логирования

    НачнСм с Ρ‚Π°ΠΊΠΎΠ³ΠΎ каркаса, создадим константу LOGGING_CONFIG :

    Version всСгда Π±ΡƒΠ΄Π΅Ρ‚ 1. Π­Ρ‚ΠΎ плСйсхолдСр для Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… Ρ€Π΅Π»ΠΈΠ·ΠΎΠ². На Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ вСрсия всСго ΠΎΠ΄Π½Π°.

    Π― Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΡŽ ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ disable_existing_loggers Π² False, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ваша систСма Π½Π΅ ΠΏΠΎΠ³Π»ΠΎΡ‰Π°Π»Π° Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Π½Π΅ΠΎΠΆΠΈΠ΄Π°Π½Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡƒΡ‚ΡŒ. Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Π»ΠΎΠ³Π³Π΅Ρ€Ρ‹, я Π±Ρ‹ ΠΏΠΎΡ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΠΎΠ²Π°Π» ΠΈΡ… явно ΠΏΠ΅Ρ€Π΅ΠΏΠΈΡΠ°Ρ‚ΡŒ (Ρ…ΠΎΡ‚ΡŒ это ΠΈ скучно).

    ΠšΠΎΡ€Π½Π΅Π²ΠΎΠΉ Π»ΠΎΠ³Π³Π΅Ρ€ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ трСмя Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ способами, Ρ‡Ρ‚ΠΎ сбиваСт с Ρ‚ΠΎΠ»ΠΊΡƒ:

    Π’Ρ‹Π±ΠΈΡ€Π°ΠΉΡ‚Π΅ любой! МнС нравится ΠΎΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ Π΅Π³ΠΎ снаруТи, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Ρ‚Π°ΠΊ ΠΎΠ½ выглядит ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½Π΅Π΅ ΠΈ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Π΅Π³ΠΎ я Ρ…ΠΎΡ‡Ρƒ, вСдь ΠΊΠΎΡ€Π½Π΅Π²ΠΎΠΉ Π»ΠΎΠ³Π³Π΅Ρ€ влияСт Π½Π° всС Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ Π»ΠΎΠ³Π³Π΅Ρ€Ρ‹.

    ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ логирования: Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρ‚Π΅Ρ€Ρ‹

    Π― дополню ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΈΠ· Tryceratops ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠΌ с JSON ΠΈΠ· Lumos.

    ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ логирования: ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ

    ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ логирования: Π»ΠΎΠ³Π³Π΅Ρ€Ρ‹ ΠΈ root

    Π”Π°Π²Π°ΠΉΡ‚Π΅ разбСрСмся, Ρ‡Ρ‚ΠΎ происходит:

    ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ я ΠΌΠΎΠ³Ρƒ ΠΏΠ΅Ρ€Π΅ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€Π°Π²ΠΈΠ»Π° ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ. Π§Π΅Ρ€Π΅Π· настройки ΠΈΠ»ΠΈ ΠΏΠΎΠ·ΠΆΠ΅ динамичСски. НапримСр, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π·, ΠΊΠΎΠ³Π΄Π° triceratops ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹ΠΉ Ρ„Π»Π°Π³ ΠΎΡ‚ CLI, ΠΎΠ½ обновляСт ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ logging Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π΄Π΅Π±Π°Π³.

    Π›ΠΎΠ³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ – это Π²Π°ΠΆΠ½ΠΎ, Π½ΠΎ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ Ρ…ΠΎΡ€ΠΎΡˆΠΎ структурированных ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ ΠΈ Π±Π»ΠΎΠΊΠΎΠ² try/except Ρ‚Π°ΠΊΠΆΠ΅ Π²Π°ΠΆΠ½ΠΎ, поэтому Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΡ„Π΅ΡΡΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΈ ΡΡ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π² Python.

    ВсСх ΠΆΠ΅Π»Π°ΡŽΡ‰ΠΈΡ… ΠΏΡ€ΠΈΠ³Π»Π°ΡˆΠ°Π΅ΠΌ Π½Π° demo-занятиС Β«ΠžΡΠ½ΠΎΠ²Ρ‹ ООП». Π¦Π΅Π»ΠΈ занятия: Π½Π°ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с классами ΠΈ ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚ΡŒΡΡ с наслСдованиСм.
    ΠšΡ€Π°Ρ‚ΠΊΠΎΠ΅ содСрТаниС:
    — ΠΌΡƒΡ‚Π°Π±Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ экзСмпляров класса
    — ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² Π² ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€
    — наслСдованиС
    — ΠΏΠ΅Ρ€Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ²
    — ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΊ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌ супСркласса
    >> Π Π•Π“Π˜Π‘Π’Π ΠΠ¦Π˜Π―

    Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

    Π›ΠΎΠ³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π² Python – основы Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹

    Π’ этом руководствС ΠΌΡ‹ ΠΈΠ·ΡƒΡ‡ΠΈΠΌ основы стандартного модуля логирования Π² Python.

    Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π»ΠΎΠ³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π² Python?

    Logging Π² Python- это ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Π² стандартной Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ обСспСчиваСт Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ со срСдой для выпуска сообщСний ΠΆΡƒΡ€Π½Π°Π»Π° ΠΈΠ· ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Python. Π›ΠΎΠ³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для отслСТивания событий, происходящих ΠΏΡ€ΠΈ запускС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния.

    Π­Ρ‚ΠΎΡ‚ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ ΡˆΠΈΡ€ΠΎΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌΠΈ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с Π»ΠΎΠ³Π°ΠΌΠΈ. Π­Ρ‚ΠΎ ΠΎΡ‡Π΅Π½ΡŒ Π²Π°ΠΆΠ½Ρ‹ΠΉ инструмСнт, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΏΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅, запускС ΠΈ ΠΎΡ‚Π»Π°Π΄ΠΊΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния. Π›ΠΎΠ³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ для хранСния записСй ΠΆΡƒΡ€Π½Π°Π»Π°. ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρ‡Ρ‚ΠΎ запись Π² ΠΆΡƒΡ€Π½Π°Π»Π΅ отсутствуСт, Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° прСрываСтся Π²ΠΎ врСмя своСго выполнСния, ΠΌΡ‹ Π½Π΅ смоТСм Π½Π°ΠΉΡ‚ΠΈ ΠΈΡΡ‚ΠΈΠ½Π½ΡƒΡŽ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Ρƒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹.

    Каким-Ρ‚ΠΎ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΌΡ‹ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΠ²Π°Π΅ΠΌ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Ρƒ сбоя, Π½ΠΎ Π½Π° Π΅Π΅ устранСниС ΡƒΠΉΠ΄Π΅Ρ‚ ΠΌΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Π²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΆΡƒΡ€Π½Π°Π»Π°, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ β€œΡΠ»Π΅Π΄Ρ‹β€, Ρ‡Ρ‚ΠΎΠ±Ρ‹, Ссли ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π²ΠΎΠ·Π½ΠΈΠΊΠ»Π° Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅, ΠΌΡ‹ ΠΌΠΎΠ³Π»ΠΈ Π»Π΅Π³ΠΊΠΎ Π½Π°ΠΉΡ‚ΠΈ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Ρƒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹.

    Как Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ рСгистрация

    Logging – ΠΌΠΎΡ‰Π½Ρ‹ΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ ΠΊΠ°ΠΊ Π½ΠΎΠ²ΠΈΡ‡ΠΊΠ°ΠΌΠΈ, Ρ‚Π°ΠΊ ΠΈ профСссионалами. Π­Ρ‚ΠΎΡ‚ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ обСспСчиваСт Π½Π°Π²Ρ‹ΠΊΠΈ для ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² элСмСнтов управлСния ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ сообщСний ΠΆΡƒΡ€Π½Π°Π»Π° этим ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ.

    Π§Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ сообщСниС ΠΆΡƒΡ€Π½Π°Π»Π°, Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ вСдСния ΠΆΡƒΡ€Π½Π°Π»Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ.

    Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΡ‹ Π²Ρ‹Π·ΠΎΠ²Π΅ΠΌ срСдство логирования, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ сообщСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ. ΠœΠΎΠ΄ΡƒΠ»ΡŒ рСгистрации ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ ΠΏΡΡ‚ΡŒ ΡƒΡ€ΠΎΠ²Π½Π΅ΠΉ, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰ΠΈΡ… ΡΠ΅Ρ€ΡŒΠ΅Π·Π½ΠΎΡΡ‚ΡŒ событий. КаТдоС событиС содСрТит ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для рСгистрации событий Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ ΡΠ΅Ρ€ΡŒΠ΅Π·Π½ΠΎΡΡ‚ΠΈ. Π”Π°Π²Π°ΠΉΡ‚Π΅ разбСрСмся Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… событиях ΠΈ ΠΈΡ… Ρ€Π°Π±ΠΎΡ‚Π΅.

    Π’Ρ‹ΡˆΠ΅ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Ρ… ΡƒΡ€ΠΎΠ²Π½Π΅ΠΉ достаточно для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π»ΡŽΠ±Ρ‹Ρ… ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ. Π‘ΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ числовыС значСния ΡƒΡ€ΠΎΠ²Π½Π΅ΠΉ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Ρ‹ Π½ΠΈΠΆΠ΅.

    Π£Ρ€ΠΎΠ²Π΅Π½ΡŒΠ§ΠΈΡΠ»ΠΎΠ²Ρ‹Π΅ значСния
    NOTSET0
    DEBUG10
    INFO20
    WARNING30
    ERROR40
    CRITICAL50

    ΠœΠΎΠ΄ΡƒΠ»ΡŒ рСгистрации ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ мноТСство Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ. Он состоит ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… констант, классов ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ². ΠšΠΎΠ½ΡΡ‚Π°Π½Ρ‚Ρ‹ прСдставлСны послСдними Π·Π°Π³Π»Π°Π²Π½Ρ‹ΠΌΠΈ Π±ΡƒΠΊΠ²Π°ΠΌΠΈ; классы ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°ΡŽΡ‚ΡΡ Π·Π°Π³Π»Π°Π²Π½Ρ‹ΠΌΠΈ Π±ΡƒΠΊΠ²Π°ΠΌΠΈ. Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹ Π² Π½ΠΈΠΆΠ½Π΅ΠΌ рСгистрС ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹.

    Π”Π°Π²Π°ΠΉΡ‚Π΅ посмотрим Π½Π° нСсколько ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² рСгистратора, ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅ΠΌΡ‹Ρ… самим ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΌ.

    Π”Π°Π²Π°ΠΉΡ‚Π΅ разбСрСмся Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅.

    Как Π²ΠΈΠ΄Π½ΠΎ ΠΈΠ· Π²Ρ‹ΡˆΠ΅ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠ³ΠΎ Π²Ρ‹Π²ΠΎΠ΄Π°, ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ сообщСниС отобраТаСтся вмСстС с ΠΊΠΎΡ€Π½Π΅ΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ прСдставляСт собой имя модуля вСдСния ΠΆΡƒΡ€Π½Π°Π»Π°, присвоСнноС Π΅Π³ΠΎ рСгистратору ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ. Π‘ΠΎΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅ ΠΈ имя уровня Ρ€Π°Π·Π΄Π΅Π»ΡΡŽΡ‚ΡΡ Π΄Π²ΠΎΠ΅Ρ‚ΠΎΡ‡ΠΈΠ΅ΠΌ(:) ΠΈ ΠΏΠ΅Ρ‡Π°Ρ‚Π°ΡŽΡ‚ сообщСния Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ Π²Ρ‹Π²ΠΎΠ΄Π° ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ.

    ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ сообщСния debug() ΠΈ info() Π½Π΅ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π»ΠΈ сообщСния, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ ΠΆΡƒΡ€Π½Π°Π»Π° рСгистрируСт сообщСния с ΡƒΡ€ΠΎΠ²Π½Π΅ΠΌ ΡΠ΅Ρ€ΡŒΠ΅Π·Π½ΠΎΡΡ‚ΠΈ WARNING, ERROR ΠΈ CRITICAL.

    Π‘Π°Π·ΠΎΠ²Ρ‹Π΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ

    Основная Π·Π°Π΄Π°Ρ‡Π° логирования – Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ записи событий Π² Ρ„Π°ΠΉΠ»Π΅. ΠœΠΎΠ΄ΡƒΠ»ΡŒ прСдоставляСт basicConfig(** kwarg), ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ для настройки вСдСния ΠΆΡƒΡ€Π½Π°Π»Π°.

    Он ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ· Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

    ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ сообщСний ΠΆΡƒΡ€Π½Π°Π»Π°, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ уровня, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ Π·Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ. Нам Π½ΡƒΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ ΠΎΠ΄Π½Ρƒ константу Π² класс, которая Ρ€Π°Π·Ρ€Π΅ΡˆΠΈΠ»Π° Π±Ρ‹ всС Π²Ρ‹Π·ΠΎΠ²Ρ‹ логирования.

    Π’ΠΎΡ‡Π½ΠΎ Ρ‚Π°ΠΊ ΠΆΠ΅ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π·Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ сообщСниС Π² Ρ„Π°ΠΉΠ» вмСсто отобраТСния Π½Π° консоли, имя Ρ„Π°ΠΉΠ»Π° ΠΈ Ρ€Π΅ΠΆΠΈΠΌ Ρ„Π°ΠΉΠ»Π° ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ basicConfig(), ΠΈ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ сообщСния с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π°. Π”Π°Π²Π°ΠΉΡ‚Π΅ разбСрСмся Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅.

    ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹ΠΉ Π²Ρ‹ΡˆΠ΅ Π²Ρ‹Π²ΠΎΠ΄ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒΡΡ Π² Ρ„Π°ΠΉΠ»Π΅ msg.log вмСсто консоли. ΠœΡ‹ ΠΎΡ‚ΠΊΡ€Ρ‹Π»ΠΈ Ρ„Π°ΠΉΠ» Π² w, Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Ρ„Π°ΠΉΠ» ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ Π² Β«Ρ€Π΅ΠΆΠΈΠΌΠ΅ записи». Если basicConfig() вызываСтся нСсколько Ρ€Π°Π·, Ρ‚ΠΎ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ запуск ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅Π·Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ Π²Ρ‹Π²ΠΎΠ΄ Ρ„Π°ΠΉΠ»Π° ΠΆΡƒΡ€Π½Π°Π»Π°. Π€ΡƒΠ½ΠΊΡ†ΠΈΡŽ basicConfig() ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ, ΠΏΠ΅Ρ€Π΅Π΄Π°Π² Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ https://docs.python.org/3/library/logging.html#logging.basicConfig.

    ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹ΠΉ Π²Ρ‹ΡˆΠ΅ ΠΊΠΎΠ΄ сгСнСрируСт Ρ„Π°ΠΉΠ», ΠΈ ΠΌΡ‹ смоТСм ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ ΠΏΡ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ Ρ„Π°ΠΉΠ»Π°.

    Π€ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π²Ρ‹Π²ΠΎΠ΄Π°

    Π‘Ρ‚Ρ€ΠΎΠΊΠ°, пСрСданная Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ ΠΊΠ°ΠΊ сообщСниС для ΠΆΡƒΡ€Π½Π°Π»Π°, ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π° Π² соотвСтствии с нашими трСбованиями. Π’ Π΄Π°Π½Π½ΠΎΠΉ строкС ΠΈ части Logrecord Π΅ΡΡ‚ΡŒ нСсколько основных элСмСнтов. Π”Π°Π²Π°ΠΉΡ‚Π΅ разбСрСмся Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅.

    АргумСнт Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ строку с Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π°ΠΌΠΈ Logrecord Π² любой Ρ„ΠΎΡ€ΠΌΠ΅, которая Π½Π°ΠΌ трСбуСтся.

    Атрибуты%(asctime) Π΄ΠΎΠ±Π°Π²Π»ΡΡŽΡ‚ врСмя создания записи ΠΆΡƒΡ€Π½Π°Π»Π°. ΠœΡ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΠΌ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ² datefmt, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ Ρ‚Ρƒ ΠΆΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, Ρ‡Ρ‚ΠΎ ΠΈ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ datetime.

    РСгистрация ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…

    Иногда ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π΄ΠΈΠ½Π°ΠΌΠΈΡ‡Π΅ΡΠΊΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΈΠ· прилоТСния Π² ΠΆΡƒΡ€Π½Π°Π». ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ вСдСния ΠΆΡƒΡ€Π½Π°Π»Π° ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‚ строку Π² качСствС Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°, ΠΈ рСкомСндуСтся ΠΎΡ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ строку с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ Π΅Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρƒ ΠΆΡƒΡ€Π½Π°Π»Π°.

    Но вмСсто этого ΠΌΡ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ строку Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° для сообщСния ΠΈ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π² качСствС Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°.

    Π”Π°Π²Π°ΠΉΡ‚Π΅ разбСрСмся Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ –

    АргумСнты, ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Π½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρƒ, Π±ΡƒΠ΄ΡƒΡ‚ свСрнуты ΠΊΠ°ΠΊ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ Π² сообщСнии.

    ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ f для форматирования Π΄Π°Π½Π½ΠΎΠΉ строки. Он обСспСчиваСт ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΠΉ ΠΈ простой способ обращСния со строкой.

    ΠžΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΠ΅ трассировки стСка

    ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Ρ„ΠΈΠΊΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ»Π½Ρ‹Π΅ стСки трассировок Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ модуля рСгистрации. Π’ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ вСдСния ΠΆΡƒΡ€Π½Π°Π»Π° Π΅ΡΡ‚ΡŒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ exc_info; Ссли ΠΌΡ‹ установим Π΅Π³ΠΎ ΠΊΠ°ΠΊ True, ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°Ρ…Π²Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎΠ± ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ.

    Если ΠΌΡ‹ Π½Π΅ установим Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ exc_info Π² true, Π²Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ Π½Π΅ Π±ΡƒΠ΄ΡƒΡ‚ ΡΠΎΠΎΠ±Ρ‰Π°Ρ‚ΡŒ Π½Π°ΠΌ ΠΎΠ± ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ. Π‘Ρ‹Π»ΠΎ Π±Ρ‹ слоТно ΠΎΡ‚Π»Π°Π΄ΠΈΡ‚ΡŒ ΠΎΡˆΠΈΠ±ΠΊΡƒ Π² тысячах строк ΠΊΠΎΠ΄Π°, Ссли ΠΎΠ½Π° ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Π²Ρ‹Π²ΠΎΠ΄.

    Π•ΡΡ‚ΡŒ Ρ‚Π°ΠΊΠΆΠ΅ Π΄Ρ€ΡƒΠ³ΠΎΠΉ способ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΏΠΎΠ»Π½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎΠ± ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ. ΠœΠΎΠ΄ΡƒΠ»ΡŒ рСгистрации прСдоставляСт ΠΌΠ΅Ρ‚ΠΎΠ΄ exception(), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ рСгистрируСт сообщСниС с ERROR ΠΈ прикрСпляСт ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎΠ± ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ, Π²Ρ‹Π·ΠΎΠ²ΠΈΡ‚Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ logging.exception() Ρ‚Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ Π²Ρ‹Π·ΠΎΠ² logging.error(exc_info = True).

    ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π»ΡŽΠ±ΡƒΡŽ ΠΈΠ· ΠΎΠΏΡ†ΠΈΠΉ Π² ΠΌΠ΅Ρ‚ΠΎΠ΄Π°Ρ… error(), debug() ΠΈΠ»ΠΈ critical(), Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎΠ± ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ.

    ΠšΠ»Π°ΡΡΡ‹ ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ

    Π”ΠΎ сих ΠΏΠΎΡ€ ΠΌΡ‹ Π²ΠΈΠ΄Π΅Π»ΠΈ рСгистратор ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ с ΠΈΠΌΠ΅Π½Π΅ΠΌ root. ΠœΠΎΠ΄ΡƒΠ»ΡŒ вСдСния ΠΆΡƒΡ€Π½Π°Π»Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ всякий Ρ€Π°Π·, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ Π΅Π³ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ logging.debug(), logging.error() ΠΈ Ρ‚. Π΄. ΠœΡ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΠΌ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ собствСнноС срСдство вСдСния ΠΆΡƒΡ€Π½Π°Π»Π°, создав ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ класса Logger. Π—Π΄Π΅ΡΡŒ ΠΌΡ‹ опрСдСляСм ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ классы ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.

    НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Ρ‹ классы ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ Π² ΠΌΠΎΠ΄ΡƒΠ»Π΅ logging.

    Если Ρƒ нас Π½Π΅Ρ‚ сообщСния для форматирования, ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π½Π΅ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½ΠΎΠ΅ сообщСниС. Π€ΠΎΡ€ΠΌΠ°Ρ‚ Π΄Π°Ρ‚Ρ‹ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ –

    Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для создания сообщСния ΠΆΡƒΡ€Π½Π°Π»Π° Π² ΡƒΠ΄ΠΎΠ±ΠΎΡ‡ΠΈΡ‚Π°Π΅ΠΌΠΎΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅.

    ΠžΠ±Ρ‹Ρ‡Π½ΠΎ ΠΌΡ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅ΠΌ с ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ класса Logger, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ logging.getLogger(name). Если ΠΌΠ΅Ρ‚ΠΎΠ΄ getLogger() вызываСтся нСсколько Ρ€Π°Π· с ΠΎΠ΄Π½ΠΈΠΌ ΠΈ Ρ‚Π΅ΠΌ ΠΆΠ΅ ΠΈΠΌΠ΅Π½Π΅ΠΌ, ΠΎΠ½ Π²Π΅Ρ€Π½Π΅Ρ‚ ссылку Π½Π° ΠΎΠ΄ΠΈΠ½ ΠΈ Ρ‚ΠΎΡ‚ ΠΆΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ рСгистратора.

    Π”Π°Π²Π°ΠΉΡ‚Π΅ разбСрСмся Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅:

    ΠœΡ‹ создали собствСнноС имя рСгистратора first_logger, Π½ΠΎ, Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ ΠΊΠΎΡ€Π½Π΅Π²ΠΎΠ³ΠΎ рСгистратора, first_logger Π½Π΅ являСтся Ρ‡Π°ΡΡ‚ΡŒΡŽ Π²Ρ‹Ρ…ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π°. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΎΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ Π΅Π³ΠΎ, ΠΏΠ΅Ρ€Π΅Π΄Π°ΠΉΡ‚Π΅ Π΅Π³ΠΎ Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ. Π’ΠΎΠ³Π΄Π° Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ.

    Π Π°Π±ΠΎΡ‚Π° с ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌΠΈ

    ΠžΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для настройки рСгистратора ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ ΠΆΡƒΡ€Π½Π°Π»ΠΎΠ² Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ мСста ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ. Он отправляСт сообщСния ΠΆΡƒΡ€Π½Π°Π»Π° Π² стандартный ΠΏΠΎΡ‚ΠΎΠΊ Π²Ρ‹Π²ΠΎΠ΄Π° ΠΈΠ»ΠΈ Ρ„Π°ΠΉΠ» Ρ‡Π΅Ρ€Π΅Π· HTTP ΠΈΠ»ΠΈ ΠΏΠΎ элСктронной ΠΏΠΎΡ‡Ρ‚Π΅.

    Π”Π°Π²Π°ΠΉΡ‚Π΅ разбСрСмся Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ создания ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ².

    Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ ΠΌΡ‹ создали настраиваСмый рСгистратор с ΠΈΠΌΠ΅Π½Π΅ΠΌ logger_obj ΠΈ создали LogRecord, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ…Ρ€Π°Π½ΠΈΡ‚ всю запись событий рСгистрации ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅Ρ‚ Π΅Π΅ всСм ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠΌΡΡ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ: w_handlers ΠΈ e_handlers.

    W_handlers – это ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ ΠΏΠΎΡ‚ΠΎΠΊΠ° с ΡƒΡ€ΠΎΠ²Π½Π΅ΠΌ WARNING. Он ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ ΠΆΡƒΡ€Π½Π°Π» ΠΈΠ· LogRecord для Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ Π²Ρ‹Π²ΠΎΠ΄Π° Π² строкС Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° ΠΈ Π²Ρ‹Π²ΠΎΠ΄Π° Π΅Π³ΠΎ Π½Π° экран.

    E_handler – это ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ Ρ„Π°ΠΉΠ»ΠΎΠ² с ΡƒΡ€ΠΎΠ²Π½Π΅ΠΌ ERROR. Он ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΡƒΠ΅Ρ‚ LogRecord ΠΊΠ°ΠΊ Π΅Π³ΠΎ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ ΠŸΠ Π•Π”Π£ΠŸΠ Π•Π–Π”Π•ΠΠ˜Π•.

    Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

    ΠœΠΎΠ΄ΡƒΠ»ΡŒ logging Π³ΠΈΠ±ΠΎΠΊ ΠΈ прост Π² использовании. Π­Ρ‚ΠΎ ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ для отслСТивания записСй ΠΆΡƒΡ€Π½Π°Π»Π° ΠΈ отобраТСния ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ сообщСния ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ. Он обСспСчиваСт Π³ΠΈΠ±ΠΊΠΎΡΡ‚ΡŒ для создания настраиваСмых ΡƒΡ€ΠΎΠ²Π½Π΅ΠΉ ΠΆΡƒΡ€Π½Π°Π»ΠΎΠ², классов ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΈ ΠΌΠ½ΠΎΠ³ΠΈΡ… Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Ρ… ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ².

    Он Ρ‚Π°ΠΊΠΆΠ΅ обСспСчиваСт Π±Π°Π·ΠΎΠ²ΠΎΠ΅ Π²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΆΡƒΡ€Π½Π°Π»Π° для Π½Π΅Π±ΠΎΠ»ΡŒΡˆΠΈΡ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ². Π’ этом руководствС ΠΌΡ‹ обсудили всС основныС ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΈ модуля logging. ΠœΡ‹ рассмотрСли созданиС сообщСний с Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ уровнями.

    Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

    Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

    Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *