Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ Π»ΠΎΠ³ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π² python
ΠΠΎΠ³ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π² Python
Python ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅Ρ Π²Π΅ΡΡΠΌΠ° ΡΠΈΠ»ΡΠ½ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ Π»ΠΎΠ³ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π² ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ΅. ΠΠ½ΠΎΠ³ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ print Π΄Π»Ρ Π»Π΅ΡΠ΅Π½ΠΈΡ Π±Π°Π³ΠΎΠ² (Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ ΠΈ Ρ), Π½ΠΎ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π»ΠΎΠ³ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π»Ρ ΡΡΠΈΡ ΡΠ΅Π»Π΅ΠΉ. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π»ΠΎΠ³Π° ΡΠ°ΠΊΠΆΠ΅ Π±ΠΎΠ»Π΅Π΅ ΡΠΈΡΡΡΠΉ ΠΌΠ΅ΡΠΎΠ΄, Π΅ΡΠ»ΠΈ Π²Ρ Π½Π΅ Ρ ΠΎΡΠΈΡΠ΅ ΠΏΡΠΎΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ Π²Π΅ΡΡ ΡΠ²ΠΎΠΉ ΠΊΠΎΠ΄, ΡΡΠΎΠ±Ρ ΡΠ΄Π°Π»ΠΈΡΡ Π²ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ print. Π Π΄Π°Π½Π½ΠΎΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅:
Π ΠΊΠΎΠ½ΡΡ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΡΠ°Π·Π΄Π΅Π»Π° Π²Ρ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ²Π΅ΡΠ΅Π½Π½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Π»ΠΎΠ³ΠΈ Π΄Π»Ρ ΡΠ²ΠΎΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. ΠΡΠΈΡΡΡΠΏΠΈΠΌ!
Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ ΠΏΡΠΎΡΡΠΎΠΉ Π»ΠΎΠ³Π³Π΅Ρ
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π»ΠΎΠ³Π° ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΠΌΠΎΠ΄ΡΠ»Ρ logging ΡΡΠΎ ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΡΡΠΎ. ΠΠ»Ρ Π½Π°ΡΠ°Π»Π°, Π±ΡΠ΄Π΅Ρ ΠΏΡΠΎΡΠ΅ Π²Π·Π³Π»ΡΠ½ΡΡΡ Π½Π° ΡΠ°ΡΡΡ ΠΊΠΎΠ΄Π° ΠΈ ΠΎΠ±ΡΡΡΠ½ΠΈΡΡ Π΅Π³ΠΎ:
ΠΠ°ΠΊ ΠΈ ΠΎΠΆΠΈΠ΄Π°Π»ΠΎΡΡ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡ Π΄ΠΎΡΡΡΠΏ ΠΊ ΠΌΠΎΠ΄ΡΠ»Ρ logging, Π΄Π»Ρ Π½Π°ΡΠ°Π»Π° Π½ΡΠΆΠ½ΠΎ ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΌΠΎΠ΄ΡΠ»Ρ. ΠΡΠΎΡΡΠ΅ΠΉΡΠΈΠΉ ΡΠΏΠΎΡΠΎΠ± ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π»ΠΎΠ³Π° β ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ basicConfig ΠΌΠΎΠ΄ΡΠ»Ρ logging ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ Π΅ΠΉ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΊΠ»ΡΡΠ΅Π²ΡΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ². Π€ΡΠ½ΠΊΡΠΈΡ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅: filename, filemode, format, datefmt, level ΠΈ stream. Π Π½Π°ΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅, ΠΌΡ ΠΏΠ΅ΡΠ΅Π΄Π°Π΄ΠΈΠΌ Π΅Ρ Π½Π°Π·Π²Π°Π½ΠΈΡ ΡΠ°ΠΉΠ»Π° ΠΈ ΡΡΠΎΠ²Π½Ρ Π»ΠΎΠ³ΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΡΡΠΎ ΠΌΡ ΠΈ Π½Π°ΡΡΡΠΎΠΈΠΌ Π² INFO.
Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΏΡΡΡ ΡΡΠΎΠ²Π½Π΅ΠΉ Π»ΠΎΠ³ΠΈΡΠΎΠ²Π°Π½ΠΈΡ (Π² ΠΏΠΎΡΡΠ΄ΠΊΠ΅ Π²ΠΎΠ·ΡΠ°ΡΡΠ°Π½ΠΈΡ): DEBUG, INFO, WARNING, ERROR ΠΈ CRITICAL. ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, Π΅ΡΠ»ΠΈ Π²Ρ Π·Π°ΠΏΡΡΡΠΈΡΠ΅ ΡΡΠΎΡ ΠΊΠΎΠ΄ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π·, ΠΎΠ½ Π΄ΠΎΠ±Π°Π²ΠΈΡΡΡ Π² Π»ΠΎΠ³, Π΅ΡΠ»ΠΈ ΠΎΠ½ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ. ΠΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅, ΡΡΠΎΠ±Ρ Π²Π°Ρ Π»ΠΎΠ³Π³Π΅Ρ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΠΈΡΡΠ²Π°Π» Π»ΠΎΠ³, ΠΏΠ΅ΡΠ΅Π΄Π°ΠΉΡΠ΅ Π΅Π³ΠΎ filemode=βwβ, ΠΊΠ°ΠΊ Π±ΡΠ»ΠΎ ΡΠΊΠ°Π·Π°Π½ΠΎ Π² ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ ΠΊ ΠΊΠΎΠ΄Ρ. ΠΠΎΠ²ΠΎΡΡ ΠΎ Π·Π°ΠΏΡΡΠΊΠ΅ ΠΊΠΎΠ΄Π°, Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ, ΠΏΠΎΡΠ»Π΅ Π·Π°ΠΏΡΡΠΊΠ°:
Python: ΠΠΎΠ³ΠΈΡΡΠ΅ΠΌ ΠΊΠ°ΠΊ ΠΏΡΠΎΡΠ΅ΡΡΠΈΠΎΠ½Π°Π»Ρ
Π§Π°ΡΡΠΎ Π²ΠΈΠΆΡ, ΡΡΠΎ ΠΏΠΎΠΌΠΈΠΌΠΎ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ, Π»ΡΠ΄ΠΈ ΠΌΡΡΠ°ΡΡΡΡ ΠΊΠΎΠ΅ Ρ ΡΠ΅ΠΌ Π΅ΡΠ΅, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ Π»ΠΎΠ³ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ.
ΠΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ Π»ΡΠ΄Π΅ΠΉ Π½Π΅ Π·Π½Π°ΡΡ, ΡΡΠΎ ΠΏΠΈΡΠ°ΡΡ Π² Π»ΠΎΠ³ΠΈ, ΠΏΠΎΡΡΠΎΠΌΡ ΡΠ΅ΡΠ°ΡΡ Π»ΠΎΠ³ΠΈΡΠΎΠ²Π°ΡΡ Π²ΡΠ΅, ΡΡΠΎ ΡΠ³ΠΎΠ΄Π½ΠΎ, Π΄ΡΠΌΠ°Ρ, ΡΡΠΎ Π²ΡΠ΅ ΠΏΠΎΠ΄ΡΡΠ΄ β ΡΡΠΎ Π² Π»ΡΠ±ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π»ΡΡΡΠ΅, ΡΠ΅ΠΌ Π½ΠΈΡΠ΅Π³ΠΎ, ΠΈ, Π² ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠΌ ΠΈΡΠΎΠ³Π΅, ΠΏΡΠΎΡΡΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΡΡΠΌ. Π ΡΡΠΌ β ΡΡΠΎ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ Π½ΠΈΠΊΠ°ΠΊ Π½Π΅ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ Π²Π°ΡΠ΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ ΠΏΠΎΠ½ΡΡΡ, Π² ΡΠ΅ΠΌ Π΄Π΅Π»ΠΎ ΠΈ ΠΊΠ°ΠΊ ΡΠ΅ΡΠΈΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ.
ΠΠΎΠ»Π΅Π΅ ΡΠΎΠ³ΠΎ, Ρ Π½Π΅ Π΄ΡΠΌΠ°Ρ, ΡΡΠΎ ΡΡΠΈ Π»ΡΠ΄ΠΈ ΠΌΠΎΠ³ΡΡ ΡΠ²Π΅ΡΠ΅Π½Π½ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΡΡΠΎΠ²Π½ΡΠΌΠΈ Π»ΠΎΠ³ΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ logger.info Π²Π΅Π·Π΄Π΅ (Π΅ΡΠ»ΠΈ Π½Π΅ ΠΏΠΈΡΡΡ print ).
ΠΠ°ΠΊΠΎΠ½Π΅Ρ, Π»ΡΠ΄ΠΈ, ΠΏΠΎΡ ΠΎΠΆΠ΅, Π½Π΅ Π·Π½Π°ΡΡ, ΠΊΠ°ΠΊ ΡΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠΎΠ²Π°ΡΡ Π»ΠΎΠ³ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π² Python, ΠΏΠΎΠ½ΡΡΠΈΡ Π½Π΅ ΠΈΠΌΠ΅ΡΡ, ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ, ΡΠΈΠ»ΡΡΡΡ, ΠΌΠ΅ΡΠΎΠ΄Ρ ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ (ΡΠΎΡΠΌΠ°ΡΡΠ΅ΡΡ) ΠΈ Ρ.Π΄.
Π¦Π΅Π»Ρ ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠΈ β ΡΠ°Π·ΡΡΡΠ½ΠΈΡΡ, ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ Π»ΠΎΠ³ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΠΊΠ°ΠΊ Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ Π΅Π³ΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²ΡΠ²Π°ΡΡ. Π― ΠΏΠΎΡΡΠ°ΡΠ°ΡΡΡ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΡ ΠΈ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΡΡ Π²Π°Ρ Π³ΠΈΠ±ΠΊΠΈΠΌΠΈ ΡΠΌΠΏΠΈΡΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ ΠΏΡΠΈΠ΅ΠΌΠ°ΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΡΠΈ Π»ΠΎΠ³ΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ Π² Π»ΡΠ±ΠΎΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π²Ρ ΠΊΠΎΠ³Π΄Π°-Π»ΠΈΠ±ΠΎ Π±ΡΠ΄Π΅ΡΠ΅ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ.
ΠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅
ΠΡΠΈΠΌΠ΅ΡΡ ΠΎΠ±Π»Π΅Π³ΡΠ°ΡΡ Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΠΎΠ΅ Π²ΠΎΡΠΏΡΠΈΡΡΠΈΠ΅, ΠΏΠΎΡΡΠΎΠΌΡ ΠΌΡ Π±ΡΠ΄Π΅ΠΌ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΡΠΈΡΡΠ΅ΠΌΡ:
ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ ΠΌΠΎΠ³ΡΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΉ ΠΊ ΡΠ΅ΡΡΡΡΠ°ΠΌ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, GitHub, Slack, AWS ΠΈ Ρ.Π΄.)
Π Π΅ΡΡΡΡΡ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½Ρ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ ΡΠΏΠΈΡΠΊΠΎΠ² Ρ GitHub, Π΄ΠΈΠ°Π»ΠΎΠ³ΠΈ ΠΈΠ· Slack, ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΡ ΡΠΏΠΈΡΠΊΠΎΠ² EC2 ΠΈΠ· AWS ΠΈ Ρ.Π΄.)
ΠΠ°ΠΆΠ΄Π°Ρ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½Π°, ΠΈΠΌΠ΅Π΅Ρ ΡΠ²ΠΎΠΉ Π½Π°Π±ΠΎΡ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ, ΠΊΠΎΠ½Π΅ΡΠ½ΡΡ ΡΠΎΡΠ΅ΠΊ, ΡΠ°Π³ΠΎΠ² ΠΈ Ρ.Π΄.
ΠΠ°ΠΆΠ΄Π°Ρ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌ ΠΎΡΠΈΠ±ΠΊΠ°ΠΌ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡΡΡ Π² Π»ΡΠ±ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π½Π΅Π²Π΅ΡΠ½Π°Ρ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ, ΡΠ΅ΡΡΡΡ Π½Π΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΈ Ρ.Π΄.)
Π― Π½Π΅ Π±ΡΠ΄Ρ ΡΠΎΡΡΠ΅Π΄ΠΎΡΠ°ΡΠΈΠ²Π°ΡΡΡΡ Π½Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ ΡΠ°ΠΊΠΈΡ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΉ, ΠΏΡΠΎΡΡΠΎ ΠΏΡΠΎΠ½Π°Π±Π»ΡΠ΄Π°Π΅ΠΌ Π·Π° ΡΠ΅ΠΌ, ΠΊΠ°ΠΊ ΡΡΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ.
ΠΡΠΈΡΠΎΠ΄Π° Π»ΠΎΠ³ΠΈΡΠΎΠ²Π°Π½ΠΈΡ: Ρ ΠΎΡΠΎΡΠ΅Π΅ Π»ΠΎΠ³ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΠΌΠ΅Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅
ΠΠ»Ρ Π½Π°ΡΠ°Π»Π° Π΄Π°Π²Π°ΠΉΡΠ΅ ΠΏΡΠΎΠ°Π½Π°Π»ΠΈΠ·ΠΈΡΡΠ΅ΠΌ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ Π»ΠΎΠ³ΠΎΠ².
Β«ΠΠ°Π³Π»ΡΠ΄Π½ΡΠΌΠΈΒ» ΠΌΡ ΠΈΡ Π½Π°Π·ΡΠ²Π°Π΅ΠΌ ΠΏΠΎΡΠΎΠΌΡ, ΡΡΠΎ ΠΎΠ½ΠΈ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡ Π²Π°ΠΌ ΠΊΠ°ΠΊΡΡ-ΡΠΎ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ, Β«ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ½ΡΠΌΠΈΒ», ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΎΠ½ΠΈ Π΄Π°ΡΡ Π²Π°ΠΌ ΠΎΠ±ΡΠ΅Π΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊ ΠΎΠ±ΡΡΠΎΡΡ Π΄Π΅Π»Π° Π½Π° Π΄Π°Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ. Π Π½Π°ΠΊΠΎΠ½Π΅Ρ, Β«ΡΠ΅Π°ΠΊΡΠΈΠ²Π½ΡΠΌΠΈΒ» ΠΎΠ½ΠΈ ΡΠ²Π»ΡΡΡΡΡ ΠΏΠΎΡΠΎΠΌΡ, ΡΡΠΎ ΠΎΠ½ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ Π²Π°ΠΌ ΠΏΡΠ΅Π΄ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΡΡΠΎ-ΡΠΎ ΠΏΡΠΎΠΈΠ·ΠΎΡΠ»ΠΎ (Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ Π²Π°ΡΠΈ Π»ΠΎΠ³ΠΈ ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡΡΡ/ΠΏΠΎΠ»ΡΡΠ°ΡΡΡΡ Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ ΡΠ΅Π°Π»ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ, Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ Π²Ρ Π½Π΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΠΎ, ΡΡΠΎ ΠΏΡΠΎΠΈΠ·ΠΎΡΠ»ΠΎ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠΎ).
ΠΡΠ»ΠΈ Π²Ρ Π½Π΅ Π±ΡΠ΄Π΅ΡΠ΅ ΡΡΠΈΡΡΠ²Π°ΡΡ ΠΏΡΠΈΡΠΎΠ΄Ρ Π»ΠΎΠ³ΠΎΠ², ΡΠΎ Π±ΡΠ΄Π΅ΡΠ΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠΌ, ΡΡΠΎ ΡΠ½ΠΈΠ·ΠΈΡ Π²Π°ΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ.
ΠΠ°Π»ΡΡΠ΅ Ρ ΠΏΡΠΈΠ²Π΅Π΄Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ², ΠΎΡΠ½ΠΎΠ²Π°Π½Π½ΡΡ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ΅, ΠΊΠΎΡΠΎΡΡΡ ΠΌΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΠ»ΠΈ Π²ΡΡΠ΅:
ΠΡΠ»ΠΈ Π²Ρ Π·Π°Π΄Π°Π΄ΠΈΡΠ΅ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅, ΠΊ ΠΏΡΠΈΠΌΠ΅ΡΡ Β«operation connect failedΒ», Π½ΠΎ Π½Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΡΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡ, ΡΡΡΠ΄Π½ΠΎ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠ½ΡΡΡ, ΠΊΠ°ΠΊΠ°Ρ ΠΈΠ· ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΉ Π½Π΅ ΠΎΡΡΠ°Π±ΠΎΡΠ°Π»Π°, ΠΊΡΠΎ ΠΏΠΎΡΡΡΠ°Π΄Π°Π», Π½Π° ΠΊΠ°ΠΊΠΎΠΌ ΡΡΠ°ΠΏΠ΅ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΠΈΠ·ΠΎΡΠ΅Π» ΡΠ±ΠΎΠΉ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΈ ΡΡΠ΅Π°Π³ΠΈΡΠΎΠ²Π°ΡΡ Π²Ρ Π½Π΅ ΠΌΠΎΠΆΠ΅ΡΠ΅. Π ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠΌ ΠΈΡΠΎΠ³Π΅ Π²Ρ Π±ΡΠ΄Π΅ΡΠ΅ ΠΊΠΎΠΏΠ°ΡΡΡΡ Π² ΡΠΎΠ½Π½Π΅ Π»ΠΎΠ³ΠΎΠ² Π±Π΅Π· ΠΌΠ°Π»Π΅ΠΉΡΠ΅Π³ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΎ ΡΠΎΠΌ, Π³Π΄Π΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°.
Π, Π° Π΅ΡΠ΅ Π½Π΅ ΡΡΠΎΠΈΡ Π½Π΅Π΄ΠΎΠΎΡΠ΅Π½ΠΈΠ²Π°ΡΡ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° ΠΈΡΠΏΠΎΡΡΠΈΡΡ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅. Π‘Π΄Π΅Π»Π°ΡΡ ΡΡΠΎ Π»Π΅Π³ΠΊΠΎ, ΠΏΡΠΎΡΡΠΎ ΠΎΡΠΏΡΠ°Π²ΠΈΠ² ΠΏΠΎΠ²Π΅ΡΡ Π½ΠΎΡΡΠ½ΡΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ Π±Π΅Π· ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Π»ΠΈΠ±ΠΎ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ°, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Β«An error happenedΒ» ΠΈΠ»ΠΈ Β«An unexpected exception was raisedΒ». ΠΡΠ»ΠΈ Ρ ΠΏΡΠΎΡΡΡ ΡΠ°ΠΊΠΎΠ΅, ΡΠΎ Π΄Π°ΠΆΠ΅ Π½Π΅ ΠΏΠΎΠΉΠΌΡ, Π½Π° ΡΡΠΎ ΠΏΠΎΠ²Π»ΠΈΡΠ»Π° ΠΎΡΠΈΠ±ΠΊΠ°, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Π½Π΅ Π±ΡΠ΄Ρ Π·Π½Π°ΡΡ, Π§Π’Π ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎ ΠΏΡΠΎΠΈΠ·ΠΎΡΠ»ΠΎ. Π’Π°ΠΊ ΡΡΠΎ Π΄Π°, ΠΌΠΎΠΆΠ½ΠΎ ΡΠ»ΠΎΠΌΠ°ΡΡ Π΄Π°ΠΆΠ΅ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΡΠΌΡΡΠ» Π»ΠΎΠ³ΠΎΠ².
ΠΠΎΠ³ΠΈ β ΡΡΠΎ ΠΊΠΎΠ½ΡΠΈΠ΄Π΅Π½ΡΠΈΠ°Π»ΡΠ½Π°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΈΠ· Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ, Π½ΡΠΆΠ½Π°Ρ ΡΡΠΎΠ±Ρ Π²Ρ ΠΎΡΡΠ°Π²Π°Π»ΠΈΡΡ Π² ΠΊΡΡΡΠ΅ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΡΡΠ΅Π³ΠΎ ΠΈ ΠΌΠΎΠ³Π»ΠΈ ΡΠ΅Π°Π³ΠΈΡΠΎΠ²Π°ΡΡ Π½Π° ΡΠΈΡΡΠ°ΡΠΈΠΈ. ΠΡΠ±ΡΠ΅ Π»ΠΎΠ³ΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ Π΄Π°ΡΡ Π²Π°ΠΌ ΡΠ°ΠΊΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ β ΡΡΠΎ ΡΡΠΌ.
ΠΠΎΠ³Π΄Π° Π½ΡΠΆΠ½ΠΎ Π»ΠΎΠ³ΠΈΡΠΎΠ²Π°ΡΡ?
Π§ΡΠΎΠ±Ρ Π»ΠΎΠ³ΠΈ ΠΎΡΡΠ°Π²Π°Π»ΠΈΡΡ ΡΠ΅Π°ΠΊΡΠΈΠ²Π½ΡΠΌΠΈ, Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π»ΠΎΠ³ΠΈΡΠΎΠ²Π°ΡΡ Β«ΡΠΎΠ±ΡΡΠΈΡΒ». Π‘Π΄Π΅Π»Π°ΠΉΡΠ΅ ΠΈΡ ΡΠ°ΠΊΠΈΠΌΠΈ ΠΆΠ΅ ΠΏΠΎΠ½ΡΡΠ½ΡΠΌΠΈ ΠΈ ΡΠ΄ΠΎΠ±Π½ΡΠΌΠΈ Π΄Π»Ρ ΡΡΠ΅Π½ΠΈΡ, ΠΊΠ°ΠΊ ΡΡΠ° ΡΡΠ°ΡΡΡ. ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π²Ρ Π½Π΅ ΠΏΡΠΎΡΠΈΡΠ°Π»ΠΈ ΠΊΠ°ΠΆΠ΄ΡΡ ΡΡΡΠΎΠΊΡ, ΠΊΠΎΡΠΎΡΡΡ Ρ Π½Π°ΠΏΠΈΡΠ°Π» Π²ΡΡΠ΅, Π½ΠΎ Π²Ρ Π²ΡΠ΅ ΡΠ°Π²Π½ΠΎ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΡ Π΄Π°Π»ΡΡΠ΅, ΠΏΡΠΎΠΏΡΡΡΠΈΡΡ Π½Π΅Π½ΡΠΆΠ½ΡΠ΅ ΡΠ°Π·Π΄Π΅Π»Ρ ΠΈ ΡΠΎΡΡΠ΅Π΄ΠΎΡΠΎΡΠΈΡΡΡΡ Π½Π° ΡΠΎΠΌ, ΡΡΠΎ ΠΏΡΠΈΠ²Π»Π΅ΠΊΠ»ΠΎ Π²Π°ΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅. ΠΠΎΠ³ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΡΠ°ΠΊΠΈΠΌΠΈ ΠΆΠ΅.
ΠΡΡΡ ΡΠΌΠΏΠΈΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΠ΅ Π»ΠΎΠ³ΠΎΠ²:
Π Π½Π°ΡΠ°Π»Π΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ ΠΈΠ»ΠΈ ΠΏΠΎΡΠΎΠΊΠΎΠ² (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠΈ ΠΊ ΡΡΠΎΡΠΎΠ½Π½ΠΈΠΌ ΡΠ΅ΡΠ²ΠΈΡΠ°ΠΌ ΠΈ Ρ.Π΄.);
ΠΡΠΈ Π»ΡΠ±ΠΎΠΌ Π΄ΠΎΡΡΠΈΠ³Π½ΡΡΠΎΠΌ ΠΏΡΠΎΠ³ΡΠ΅ΡΡΠ΅ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΠΏΠ΅ΡΠ½Π°Ρ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ, ΠΏΠΎΠ»ΡΡΠ΅Π½ Π²Π°Π»ΠΈΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ ΠΎΡΠ²Π΅ΡΠ° ΠΈ Ρ.Π΄.);
ΠΡΠΈ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ (ΡΡΠΏΠ΅ΡΠ½ΠΎΠΌ ΠΈΠ»ΠΈ Π½Π΅ΡΠ΄Π°ΡΠ½ΠΎΠΌ).
ΠΠΎΠ³ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠ°ΡΡΠΊΠ°Π·ΡΠ²Π°ΡΡ Π²Π°ΠΌ ΠΈΡΡΠΎΡΠΈΡ, Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΡΡΠΎΡΠΈΠΈ Π΅ΡΡΡ Π½Π°ΡΠ°Π»ΠΎ, ΡΠ΅ΡΠ΅Π΄ΠΈΠ½Π° ΠΈ ΠΊΠΎΠ½Π΅Ρ.
ΠΡΠ΄ΡΡΠ΅ ΠΎΡΡΠΎΡΠΎΠΆΠ½Ρ Ρ ΡΠ΅Π»Π΅Π²Π°Π½ΡΠ½ΠΎΡΡΡΡ, Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ Π»ΠΎΠ³ΠΈ ΠΏΡΠΎΡΠ΅, ΡΠ΅ΠΌ ΡΠ΄Π°Π»ΡΡΡ ΠΈΡ , Π²Π΅Π΄Ρ Π²ΡΠ΅, ΡΡΠΎ Π½Π΅ΡΠ΅Π»Π΅Π²Π°Π½ΡΠ½ΠΎ β ΡΡΠΌ.
Π§ΡΠΎ Π»ΠΎΠ³ΠΈΡΠΎΠ²Π°ΡΡ?
Π§ΡΠΎΠ±Ρ Π»ΠΎΠ³ΠΈ Π±ΡΠ»ΠΈ Π½Π°Π³Π»ΡΠ΄Π½ΡΠΌΠΈ ΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ½ΡΠΌΠΈ, Π½ΡΠΆΠ½ΠΎ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΉ Π½Π°Π±ΠΎΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ, ΠΈ Ρ Π½Π΅ ΠΌΠΎΠ³Ρ ΡΠΊΠ°Π·Π°ΡΡ, ΠΊΠ°ΠΊΠ°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π±ΡΠ΄Π΅Ρ ΡΠ²Π»ΡΡΡΡΡ ΡΠ°ΠΊΠΎΠ²ΠΎΠΉ, Π½Π΅ Π·Π½Π°Ρ Π²Π°ΡΠ΅Π³ΠΎ ΡΠ»ΡΡΠ°Ρ. ΠΠ°Π²Π°ΠΉΡΠ΅ Π²ΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ Π½Π°ΡΠΈΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠΌ.
Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ Ρ 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 .
ΠΠ»Ρ ΠΎΠΏΠΈΡΠ°Π½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ/ΠΏΠΎΡΠΎΠΊΠΎΠ², Ρ Π±Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π» ΡΡΠΎΠ²Π½ΠΈ Π»ΠΎΠ³ΠΎΠ², ΠΊΠ°ΠΊ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΎ:
Π§ΡΠΎ Π΄Π΅Π»Π°ΡΡ Ρ logger.critical ΠΈ logger.warning ?
WARNING β Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π²Π΅ΡΠΊΠ°Ρ ΠΏΡΠΈΡΠΈΠ½Π° Π΄Π»Ρ ΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΠΏΠΎΡΠΎΠΊΠ°, ΠΎΠ΄Π½Π°ΠΊΠΎ ΡΡΠΎ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ Π½Π° Π±ΡΠ΄ΡΡΠ΅Π΅, Π΅ΡΠ»ΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ½Π΅Ρ ΠΊΠ°ΠΊΠ°Ρ-ΡΠΎ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°.
CRITICAL β ΡΠ°ΠΌΡΠΉ ΡΡΠ΅Π²ΠΎΠΆΠ½ΡΠΉ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π°ΡΡΠΈΠΉ Π»ΠΎΠ³, ΠΊΠΎΡΠΎΡΡΠΉ Π²Ρ ΠΊΠΎΠ³Π΄Π°-Π»ΠΈΠ±ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΠ΅. ΠΠΎ ΡΡΡΠΈ, ΠΎΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΡΠΎΠΉ ΡΠ°ΠΌΠΎΠΉ ΠΏΡΠΈΡΠΈΠ½ΠΎΠΉ Π²ΡΡΠ°ΡΡ Π² ΡΡΠΈ ΡΠ°ΡΠ° Π½ΠΎΡΠΈ ΠΈ ΠΏΠΎΠΉΡΠΈ ΡΡΠΎ-ΡΠΎ ΡΠΈΠ½ΠΈΡΡ.
ΠΠ»Ρ ΡΡΠΈΡ ΡΠ»ΡΡΠ°Π΅Π² ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ:
ΠΠ»Ρ AWS: Π΅ΡΠ»ΠΈ ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ ΡΠ΅Π³ΠΈΠΎΠ½ AWS Π½Π΅Π΄ΠΎΡΡΡΠΏΠ΅Π½, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΡΡ, ΡΡΠΎ Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΡΠ°ΠΌ Π½Π΅Ρ Π½ΠΈΠΊΠ°ΠΊΠΈΡ ΡΠ΅ΡΡΡΡΠΎΠ², ΠΏΠΎΡΡΠΎΠΌΡ ΠΌΠΎΠΆΠ½ΠΎ Π΄Π²ΠΈΠ³Π°ΡΡΡΡ Π΄Π°Π»ΡΡΠ΅.
ΠΠ»Ρ Slack: Π΅ΡΠ»ΠΈ OAuth Π·Π°Π²Π΅ΡΡΠΈΡΡΡ Π½Π΅ΡΠ΄Π°ΡΠ½ΠΎ ΠΈΠ·-Π·Π° Π½Π΅Π²Π°Π»ΠΈΠ΄Π½ΠΎΠ³ΠΎ id ΠΊΠ»ΠΈΠ΅Π½ΡΠ°, Π·Π½Π°ΡΠΈΡ ΠΎΡΡΠ°Π»ΡΠ½ΡΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ ΡΡΠΎΠ»ΠΊΠ½ΡΡΡΡ Ρ ΡΠΎΠΉ ΠΆΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΎΠΉ, ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ Π½Π΅ ΠΎΡΡΠ°Π±ΠΎΡΠ°Π΅Ρ, ΠΏΠΎΠΊΠ° ΠΌΡ Π²ΡΡΡΠ½ΡΡ Π½Π΅ ΡΠ³Π΅Π½Π΅ΡΠΈΡΡΠ΅ΠΌ Π½ΠΎΠ²ΡΠΉ id. ΠΡΠΎ Π΄Π΅Π»ΠΎ ΠΊΠ°ΠΆΠ΅ΡΡΡ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΊΡΠΈΡΠΈΡΠ½ΡΠΌ.
ΠΠ΅ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΠΎΠ΅ ΠΌΠ½Π΅Π½ΠΈΠ΅: ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ DEBUG -ΡΡΠΎΠ²Π½Ρ Π½Π° ΠΏΡΠΎΠ΄Π°ΠΊΡΠ΅Π½Π΅
ΠΠ°, Ρ ΡΡΠΈΡΠ°Ρ, ΡΡΠΎ Π»ΠΎΠ³ΠΈ DEBUG Π½ΡΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π½Π° ΠΏΡΠΎΠ΄Π°ΠΊΡΠ΅Π½Π΅.
ΠΡΡΠ³ΠΎΠΉ Π²Π°ΡΠΈΠ°Π½Ρ β Π²ΠΊΠ»ΡΡΠΈΡΡ Π΄Π΅Π±Π°Π³ ΠΏΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΡΡΡΠ°Π½Π½Π°Ρ ΠΎΡΠΈΠ±ΠΊΠ° ΠΏΠΎΡΡΠ΅Π±ΡΠ΅Ρ Π±ΠΎΠ»Π΅Π΅ Π΄Π΅ΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ°Π·Π±ΠΈΡΠ°ΡΠ΅Π»ΡΡΡΠ²Π°.
ΠΡΠΎΡΡΠΈΡΠ΅, Π½ΠΎ Π΄Π»Ρ ΠΌΠ΅Π½Ρ ΡΠ°ΠΊΠΎΠΉ Π²Π°ΡΠΈΠ°Π½Ρ Π½Π΅Π΄ΠΎΠΏΡΡΡΠΈΠΌ.
Π ΡΠ΅Π°Π»ΡΠ½ΠΎΠΌ ΠΌΠΈΡΠ΅ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°ΠΌ Π½ΡΠΆΠ½Π° Π±ΡΡΡΡΠ°Ρ ΡΠ΅Π°ΠΊΡΠΈΡ, ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΡΠ²ΠΎΡ ΡΠ°Π±ΠΎΡΡ ΠΈ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ Π² ΡΠ°Π±ΠΎΡΠ΅ΠΌ ΡΠΎΡΡΠΎΡΠ½ΠΈΠΈ. Π£ ΠΌΠ΅Π½Ρ Π½Π΅Ρ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΈ ΠΏΡΠΎΠΏΡΡΠΊΠ½ΠΎΠΉ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΠΈ Π΄Π»Ρ Π½ΠΎΠ²ΠΎΠ³ΠΎ Π΄Π΅ΠΏΠ»ΠΎΡ ΠΈΠ»ΠΈ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠ»Π°Π³Π° ΠΈ ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΡ ΠΏΠΎΠ²ΡΠΎΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ. Π― Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠ΅Π°Π³ΠΈΡΠΎΠ²Π°ΡΡ Π½Π° Π½Π΅ΠΎΠΆΠΈΠ΄Π°Π½Π½ΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Π² ΡΡΠΈΡΠ°Π½Π½ΡΠ΅ ΡΠ΅ΠΊΡΠ½Π΄Ρ, Π° Π½Π΅ ΠΌΠΈΠ½ΡΡΡ.
ΠΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ Π½Π°ΡΡΡΠΎΠΉΡΠ΅ Π»ΠΎΠ³Π³Π΅Ρ
ΠΡΠ΅ Ρ Π·Π°ΠΌΠ΅ΡΠ°Ρ, ΡΡΠΎ Π»ΡΠ΄ΠΈ ΠΈΡΠΏΡΡΡΠ²Π°ΡΡ ΡΡΡΠ΄Π½ΠΎΡΡΠΈ ΠΏΡΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠ΅ Π»ΠΎΠ³Π³Π΅ΡΠ° (ΠΈΠ»ΠΈ Π²ΠΎΠΎΠ±ΡΠ΅ Π΅Π³ΠΎ Π½Π΅ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°ΡΡ). ΠΠΎΠ½Π΅ΡΠ½ΠΎ, Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ Π² Python Π½Π΅ ΠΎΡΠ΅Π½Ρ Π΄ΡΡΠΆΠ΅Π»ΡΠ±Π½Π°Ρ, Π½ΠΎ ΡΡΠΎ Π½Π΅ ΠΎΠΏΡΠ°Π²Π΄Π°Π½ΠΈΠ΅, ΡΡΠΎΠ±Ρ Π²ΠΎΠΎΠ±ΡΠ΅ Π΅Π΅ Π½Π΅ ΡΡΠΎΠ³Π°ΡΡ.
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΡΠ½ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ Π½Π΅ΠΏΡΠΎΡΡΠΎ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ ΠΈ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ;
fileConfig β Π½Π΅Π³ΠΈΠ±ΠΊΠ°Ρ ΠΈΡΡΠΎΡΠΈΡ, Ρ Π²Π°Ρ Π½Π΅ Π±ΡΠ²Π°Π΅Ρ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ (Π±Π΅Π· Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΡΠΎΠΊΡΡΠΎΠ²);
dictConfig β ΠΏΡΠΎΡΡΠ°Ρ ΠΈΡΡΠΎΡΠΈΡ Π² Π·Π°ΠΏΡΡΠΊΠ΅ ΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠ΅.
Π― ΠΏΠΎΠ΄Π΅Π»ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ ΡΠΎΠ²Π΅ΡΠ°ΠΌΠΈ ΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²Π°ΠΌ Π½Π°Π΄ΠΎ Π·Π½Π°ΡΡ, Π° Π·Π°ΡΠ΅ΠΌ ΠΌΡ ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΠΎΠΊΠΎΠ½ΡΠ°ΡΠ΅Π»ΡΠ½ΡΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ Π½Π° ΡΠ΅Π°Π»ΡΠ½ΡΡ ΠΏΡΠΈΠΌΠ΅ΡΠ°Ρ ΠΈΠ· ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ², Π½Π°Π΄ ΠΊΠΎΡΠΎΡΡΠΌΠΈ Ρ ΡΠ°Π±ΠΎΡΠ°Ρ.
ΠΠΎΡ ΠΊΡΡΠΎΡΠ΅ΠΊ ΡΠΎΠ³ΠΎ, ΠΎ ΡΠ΅ΠΌ ΠΌΡ Π±ΡΠ΄Π΅ΠΌ Π³ΠΎΠ²ΠΎΡΠΈΡΡ Π΄Π°Π»ΡΡΠ΅:
Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ Π»ΠΎΠ³Π³Π΅ΡΡ?
Π Π»ΡΠ±ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, ΠΏΡΠΈΠ΄Π΅ΡΠΆΠΈΠ²Π°ΠΉΡΠ΅ΡΡ:
Π€ΠΎΡΠΌΠ°ΡΠΈΡΡΠΉΡΠ΅ Π»ΠΎΠ³ΠΈ
Π€ΠΎΡΠΌΠ°ΡΡΠ΅ΡΡ Π²ΡΠ·ΡΠ²Π°ΡΡΡΡ Π΄Π»Ρ Π²ΡΠ²ΠΎΠ΄Π° ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠ³ΠΎ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΈ ΠΎΡΠ²Π΅ΡΠ°ΡΡ Π·Π° Π½Π΅Π³ΠΎ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Π² ΠΊΠΎΠ½Π΅ΡΠ½ΡΡ ΡΡΡΠΎΠΊΡ.
ΠΠΎΠ³Π΄Π° Ρ ΡΠ°Π±ΠΎΡΠ°Π» Π² 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 β ΠΌΠΎΡΠ½ΡΠΉ ΠΌΠΎΠ΄ΡΠ»Ρ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΉ ΠΊΠ°ΠΊ Π½ΠΎΠ²ΠΈΡΠΊΠ°ΠΌΠΈ, ΡΠ°ΠΊ ΠΈ ΠΏΡΠΎΡΠ΅ΡΡΠΈΠΎΠ½Π°Π»Π°ΠΌΠΈ. ΠΡΠΎΡ ΠΌΠΎΠ΄ΡΠ»Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ Π½Π°Π²ΡΠΊΠΈ Π΄Π»Ρ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ ΠΆΡΡΠ½Π°Π»Π° ΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌ.
Π§ΡΠΎΠ±Ρ Π²ΡΠΏΡΡΡΠΈΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΆΡΡΠ½Π°Π»Π°, Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΌΠΎΠ΄ΡΠ»Ρ Π²Π΅Π΄Π΅Π½ΠΈΡ ΠΆΡΡΠ½Π°Π»Π° ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ.
Π’Π΅ΠΏΠ΅ΡΡ ΠΌΡ Π²ΡΠ·ΠΎΠ²Π΅ΠΌ ΡΡΠ΅Π΄ΡΡΠ²ΠΎ Π»ΠΎΠ³ΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΡΡΠΎΠ±Ρ Π·Π°ΠΏΠΈΡΡΠ²Π°ΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΡ Ρ ΠΎΡΠΈΠΌ Π²ΠΈΠ΄Π΅ΡΡ. ΠΠΎΠ΄ΡΠ»Ρ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΈ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅Ρ ΠΏΡΡΡ ΡΡΠΎΠ²Π½Π΅ΠΉ, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΠΈΡ ΡΠ΅ΡΡΠ΅Π·Π½ΠΎΡΡΡ ΡΠΎΠ±ΡΡΠΈΠΉ. ΠΠ°ΠΆΠ΄ΠΎΠ΅ ΡΠΎΠ±ΡΡΠΈΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΈ ΡΠΎΠ±ΡΡΠΈΠΉ Π½Π° ΡΡΠΎΠ²Π½Π΅ ΡΠ΅ΡΡΠ΅Π·Π½ΠΎΡΡΠΈ. ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠ°Π·Π±Π΅ΡΠ΅ΠΌΡΡ Π² ΡΠ»Π΅Π΄ΡΡΡΠΈΡ ΡΠΎΠ±ΡΡΠΈΡΡ ΠΈ ΠΈΡ ΡΠ°Π±ΠΎΡΠ΅.
ΠΡΡΠ΅ΡΠΊΠ°Π·Π°Π½Π½ΡΡ ΡΡΠΎΠ²Π½Π΅ΠΉ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π΄Π»Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ Π»ΡΠ±ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ. Π‘ΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ ΡΠΈΡΠ»ΠΎΠ²ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΡΠΎΠ²Π½Π΅ΠΉ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Ρ Π½ΠΈΠΆΠ΅.
Π£ΡΠΎΠ²Π΅Π½Ρ | Π§ΠΈΡΠ»ΠΎΠ²ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ |
---|---|
NOTSET | 0 |
DEBUG | 10 |
INFO | 20 |
WARNING | 30 |
ERROR | 40 |
CRITICAL | 50 |
ΠΠΎΠ΄ΡΠ»Ρ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΈ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΡΡΠ½ΠΊΡΠΈΠΉ. ΠΠ½ ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΠΊΠΎΠ½ΡΡΠ°Π½Ρ, ΠΊΠ»Π°ΡΡΠΎΠ² ΠΈ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ². ΠΠΎΠ½ΡΡΠ°Π½ΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Ρ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΌΠΈ Π·Π°Π³Π»Π°Π²Π½ΡΠΌΠΈ Π±ΡΠΊΠ²Π°ΠΌΠΈ; ΠΊΠ»Π°ΡΡΡ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ°ΡΡΡΡ Π·Π°Π³Π»Π°Π²Π½ΡΠΌΠΈ Π±ΡΠΊΠ²Π°ΠΌΠΈ. ΠΠ»Π΅ΠΌΠ΅Π½ΡΡ Π² Π½ΠΈΠΆΠ½Π΅ΠΌ ΡΠ΅Π³ΠΈΡΡΡΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡ ΠΌΠ΅ΡΠΎΠ΄Ρ.
ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ Π½Π° Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΎΡΠ°, ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅ΠΌΡΡ ΡΠ°ΠΌΠΈΠΌ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΌ.
ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠ°Π·Π±Π΅ΡΠ΅ΠΌΡΡ Π² ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅.
ΠΠ°ΠΊ Π²ΠΈΠ΄Π½ΠΎ ΠΈΠ· Π²ΡΡΠ΅ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠ³ΠΎ Π²ΡΠ²ΠΎΠ΄Π°, ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΡΡΡ Π²ΠΌΠ΅ΡΡΠ΅ Ρ ΠΊΠΎΡΠ½Π΅ΠΌ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΠΈΠΌΡ ΠΌΠΎΠ΄ΡΠ»Ρ Π²Π΅Π΄Π΅Π½ΠΈΡ ΠΆΡΡΠ½Π°Π»Π°, ΠΏΡΠΈΡΠ²ΠΎΠ΅Π½Π½ΠΎΠ΅ Π΅Π³ΠΎ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΎΡΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ. Π‘ΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΈ ΠΈΠΌΡ ΡΡΠΎΠ²Π½Ρ ΡΠ°Π·Π΄Π΅Π»ΡΡΡΡΡ Π΄Π²ΠΎΠ΅ΡΠΎΡΠΈΠ΅ΠΌ(:) ΠΈ ΠΏΠ΅ΡΠ°ΡΠ°ΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ Π² ΡΠΎΡΠΌΠ°ΡΠ΅ Π²ΡΠ²ΠΎΠ΄Π° ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ.
ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ Π·Π°ΠΌΠ΅ΡΠΈΡΡ, ΡΡΠΎ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ 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. ΠΡ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π»ΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ Ρ ΡΠ°Π·Π½ΡΠΌΠΈ ΡΡΠΎΠ²Π½ΡΠΌΠΈ.