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

Access-Π»ΠΎΠ³ΠΈ сайта для seo: автоматичСский Π°Π½Π°Π»ΠΈΠ· ΠΈ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠ° ΠΎΡ‚Ρ‡Π΅Ρ‚ΠΎΠ² Π² Telegram

Π’ Π΄Π°Π½Π½ΠΎΠΉ ΡΡ‚Π°Ρ‚ΡŒΠ΅ описан ΠΏΠΎΡˆΠ°Π³ΠΎΠ²Ρ‹ΠΉ ΠΌΠ°Π½ΡƒΠ°Π» ΠΏΠΎ ΡΠΊΠ°Ρ‡ΠΈΠ²Π°Π½ΠΈΡŽ Π»ΠΎΠ³ΠΎΠ² с сСрвСра, ΠΈΡ… объСдинСнии ΠΈ парсингС с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Python, Π° Ρ‚Π°ΠΊΠΆΠ΅ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… ΠΎΡ‚Ρ‡Π΅Ρ‚ΠΎΠ² с ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΎΠΉ Π² Telegram. ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Ρ‹Π΅ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Ρ‹ Π² ΠΊΠΎΠ΄Π΅ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… скриптов.

Π’ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΉ ΡΡ‚Π°Ρ‚ΡŒΠ΅ β€œΠΠ°Π±ΠΎΡ€ Python-скриптов для Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ seo задач” я ΡƒΠΆΠ΅ Π·Π°Ρ‚Ρ€Π°Π³ΠΈΠ²Π°Π» Ρ‚Π΅ΠΌΡƒ Π°Π½Π°Π»ΠΈΠ·Π° access-Π»ΠΎΠ³ΠΎΠ² сайта Π² цСлях seo-ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ. Π’ Π΄Π°Π½Π½ΠΎΠΉ ΡΡ‚Π°Ρ‚ΡŒΠ΅ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠ³ΠΎ описания, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π»ΠΎΠ³ΠΈ ΠΈ для Ρ‡Π΅Π³ΠΎ ΠΈΡ… Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ. Π’ качСствС Ρ‚Π΅ΠΎΡ€ΠΈΠΈ ΠΏΡ€ΠΈΠ²Π΅Π΄Ρƒ нСсколько ссылок Π½Π° рСсурсы, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ встрСчал Π·Π° послСднСС врСмя:

Π”Π°Π½Π½Ρ‹ΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ»Π΅Π·Π΅Π½ для изучСния Π»ΠΎΠ³ΠΎΠ² Π±ΠΎΠ»ΡŒΡˆΠΈΡ… сайтов (ΠΎΡ‚ 1 ΠΌΠ»Π½. строк). ΠŸΡ€Π΅ΠΈΠΌΡƒΡ‰Π΅ΡΡ‚Π²Π° ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π°: Π΄Π΅Π»Π°Π΅ΠΌ свой бСсплатный инструмСнт с кастомными ΠΎΡ‚Ρ‡Π΅Ρ‚Π°ΠΌΠΈ.

Π Π°Π±ΠΎΡ‚Π° Π½Π°Π΄ Π»ΠΎΠ³Π°ΠΌΠΈ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ΡŒ Π² нСсколько этапов:

ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ этап вынСсСн Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ скрипт, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΡ‚Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ Π² установлСнноС врСмя Π½Π° Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌ сСрвСрС ΠΏΠΎ cron.

Π›ΠΎΠ³ΠΈ Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠ³ΠΎ сайта Π² ΠΌΠΎΠ΅ΠΌ случаС хранятся Π½Π° Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌ сСрвСрС Π² Π²ΠΈΠ΄Π΅ gz Π°Ρ€Ρ…ΠΈΠ²ΠΎΠ².

ΠŸΠΎΠ΄Ρ…ΠΎΠ΄ ΠΏΠΎ ΡΠΊΠ°Ρ‡ΠΈΠ²Π°Π½ΠΈΡŽ Ρ„Π°ΠΉΠ»ΠΎΠ², прСдставлСнный Π² Π΄Π°Π½Π½ΠΎΠΉ части, ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡƒΠ°Π»Π΅Π½, ΠΈ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠ³ΠΎ сайта. Однако, Ρ‡Π°ΡΡ‚ΡŒ рассмотрСнных ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΎΠ² ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ Π²Π°ΠΌ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»ΠΎΠ² для вашСго сайтС.

Π—Π°Π΄Π°Ρ‡Π° Π΄Π°Π½Π½ΠΎΠ³ΠΎ скрипта ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ дСнь Π² 23:55 ΡΠΊΠ°Ρ‡ΠΈΠ²Π°Ρ‚ΡŒ с сСрвСра ΠΈ Ρ€Π°Π·Π°Ρ€Ρ…ΠΈΠ²ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π»ΠΎΠ³ΠΈ Π·Π° послСдниС 7 Π΄Π½Π΅ΠΉ.

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ шагом Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€Π΅Π΄ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ²ΡˆΠΈΡ…ΡΡ Π»ΠΎΠ³-Ρ„Π°ΠΉΠ»ΠΎΠ², построСниС ΠΈ сохранСниС ΠΎΡ‚Ρ‡Π΅Ρ‚ΠΎΠ². ΠŸΡ€Π΅Π΄ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Ρ„Π°ΠΉΠ»ΠΎΠ² Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² ΠΈΡ… склСйкС, парсингС Π½ΡƒΠΆΠ½Ρ‹Ρ… ΠΏΠΎΠ»Π΅ΠΉ ΠΈ сохранСнии Π² csv.

Π’Π°ΠΆΠ½ΠΎ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ большая Ρ‡Π°ΡΡ‚ΡŒ ΠΎΡ‚Ρ‡Π΅Ρ‚ΠΎΠ², Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΎΡ‚Ρ‡Π΅Ρ‚ ΠΏΠΎ посСщаСмым Ρ€Π°Π·Π΄Π΅Π»Π°ΠΌ, Ρ‚Π°ΠΊΠΆΠ΅ формируСтся для ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ сайта, поэтому Π½Π΅ Π·Π°Π±Ρ‹Π²Π°Π΅ΠΌ ΠΏΠ΅Ρ€Π΅ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΠΎΡ‚Ρ‡Π΅Ρ‚ ΠΏΠΎΠ΄ Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚.

Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π΄Π°Π½Π½ΠΎΠ³ΠΎ скрипта ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ csv Ρ„Π°ΠΉΠ» с распарсСнными Π»ΠΎΠ³Π°ΠΌΠΈ (Π² ΠΌΠΎΠ΅ΠΌ случаС Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ Ρ„Π°ΠΉΠ» получился 644 MB) ΠΈ Π½Π°Π±ΠΎΡ€ сохранСнных ΠΎΡ‚Ρ‡Π΅Ρ‚ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² дальнСйшСм для ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ.

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

Π›ΠΎΠ³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π² Ρ‚Π΅Π»Π΅Π³Ρ€Π°ΠΌΠΌ, ΠΈΠ»ΠΈ история ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ я сдСлал ΠΏΠΈΡ‚ΠΎΠ½ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ

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

Intro

Π”Π°Π²Π½Ρ‹ΠΌ-Π΄Π°Π²Π½ΠΎ, Π° Ρ‚ΠΎΡ‡Π½Π΅Π΅ нСсколько мСсяцСв Π½Π°Π·Π°Π΄, Π½Π°ΠΊΠ°Π½ΡƒΠ½Π΅ Нового Π³ΠΎΠ΄Π°, я сидСл Π΄ΠΎΠΌΠ° ΠΈ Ρ€Π΅ΡˆΠ°Π» Π·Π°Π΄Π°Ρ‡Ρƒ ΠΏΠΎ ΠΌΠ°ΡˆΠΈΠ½Π½ΠΎΠΌΡƒ ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΡŽ. Бвязана ΠΎΠ½Π° Π±Ρ‹Π»Π° с Π½Π΅ΠΉΡ€ΠΎΠ½Π½Ρ‹ΠΌΠΈ сСтями ΠΈ классификациСй тСкстов, поэтому я СстСствСнно пользовался бСсплатным GPU ΠΎΡ‚ Π³ΡƒΠ³Π»Π° (colab). Π—Π° ΠΎΠΊΠ½ΠΎΠΌ шСл снСг, Π° ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΎΠ±ΡƒΡ‡Π°Π»ΠΈΡΡŒ Π½Ρƒ ΡƒΠΆ ΠΎΡ‡Π΅Π½ΡŒ Π΄ΠΎΠ»Π³ΠΎ. ΠžΠ±ΡƒΡ‡Π°Ρ‚ΡŒ модСль ΠΎΡΡ‚Π°Π²Π°Π»ΠΎΡΡŒ всСго нСсколько ΠΌΠΈΠ½ΡƒΡ‚, ΠΊΠ°ΠΊ Π²Π΄Ρ€ΡƒΠ³ появляСтся ΡƒΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΊ runtime потСряно, Π° это Π·Π½Π°Ρ‡ΠΈΡ‚, Ρ‡Ρ‚ΠΎ ΠΎΠ±ΡƒΡ‡Π΅Π½Π½ΡƒΡŽ модСль ΠΈ сабмиты ΠΈΠ· этого runtime ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ я Π½Π΅ смогу, ΠΈ всС придСтся Π½Π°Ρ‡ΠΈΠ½Π°Ρ‚ΡŒ Π·Π°Π½ΠΎΠ²ΠΎ.

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

Данная ситуация мСня расстроила ΠΈ заставила Π·Π°Π΄ΡƒΠΌΠ°Ρ‚ΡŒΡΡ ΠΎΡ‚ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π½Π°Π΄ΠΎ ΠΊΠ°ΠΊ-Ρ‚ΠΎ Ρ‡Π΅Ρ€Π΅Π· ΠΊΠΎΠ΄ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ процСсс выполнСния ΠΊΠΎΠ΄Π° Π½Π΅ прСкращаСтся, ΠΊΠΎΠ³Π΄Π° Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ такая ошибка. ΠŸΠΎΡ‡Π΅ΠΌΡƒ-Ρ‚ΠΎ я сразу ΠΏΠΎΠ΄ΡƒΠΌΠ°Π» ΠΏΡ€ΠΎ Ρ‚Π΅Π»Π΅Π³Ρ€Π°ΠΌΠΌ Π±ΠΎΡ‚ΠΎΠ² ΠΈ, написав нСсколько Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, смог ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ самбиты ΠΈ ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ обучаСтся модСль ΠΈ сколько Π΅ΠΉ ΠΎΡΡ‚Π°Π»ΠΎΡΡŒ.

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

ΠšΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π» для этот ΠΊΠΎΠ΄ ΠΈΠ· Π½ΠΎΡƒΡ‚Π±ΡƒΠΊΠ° (jupyter notebook) Π² Π½ΠΎΡƒΡ‚Π±ΡƒΠΊ, Π° ΠΏΠΎΡ‚ΠΎΠΌ осознал, Ρ‡Ρ‚ΠΎ это ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π² ΠΌΠΎΠ΄ΡƒΠ»ΡŒ logging ΠΈ Π·Π°Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ Π² Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ Ρ‚Π°ΡΠΊΠ°Ρ‚ΡŒ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π· большиС куски ΠΊΠΎΠ΄Π°, Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ всСго ΠΏΠ°Ρ€Ρƒ строк.

Logging.handlers

ΠŸΠΎΠ½ΡΡ‚Π½ΠΎ Π±Ρ‹Π»ΠΎ, Ρ‡Ρ‚ΠΎ Π·Π° основу Π½Π°Π΄ΠΎ Π²Π·ΡΡ‚ΡŒ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ для Π»ΠΎΠ³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅, встроСнный Π² ΠΏΠΈΡ‚ΠΎΠ½. ΠžΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΈΠ·ΠΎΠ±Ρ€Π΅Ρ‚Π°Ρ‚ΡŒ свой вСлосипСд ΠΌΠ½Π΅ Π½Π΅ Ρ…ΠΎΡ‚Π΅Π»ΠΎΡΡŒ, Π° Π΅Ρ‰Π΅ ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ, для использования Π² прилоТСниях ΠΏΡ€ΠΈΡˆΠ»ΠΎΡΡŒ Π±Ρ‹ ΠΏΠ΅Ρ€Π΅ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ вСсь ΠΊΠΎΠ΄ логирования. Надо Π±Ρ‹Π»ΠΎ Π½Π°ΠΉΡ‚ΠΈ способ ΠΏΠ΅Ρ€Π΅Ρ…Π²Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ Π»ΠΎΠ³ΠΈ, ΠΈ ΠΏΠ΅Ρ€Π΅ΡΡ‹Π»Π°Ρ‚ΡŒ ΠΈΡ… Π² Ρ‚Π΅Π»Π΅Π³Ρ€Π°ΠΌΠΌ. К ΡΡ‡Π°ΡΡ‚ΡŒΡŽ, Π² logging Π΅ΡΡ‚ΡŒ Ρ‚Π°ΠΊΠΎΠΉ класс, ΠΊΠ°ΠΊ StreamHandler. НС Π±ΡƒΠ΄Ρƒ Π²Π΄Π°Π²Π°Ρ‚ΡŒΡΡ Π² подробности, Π½ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π½Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ свою Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, которая Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒΡΡ для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π½ΠΎΠ²ΠΎΠΉ строки Π² Π»ΠΎΠ³Π°Ρ… ΠΈ ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ Π΅Π΅ Π² Ρ‚Π΅Π»Π΅Π³Ρ€Π°ΠΌΠΌ.

Tg-logger

И Π²ΠΎΡ‚, Π΄Π΅Ρ€ΠΆΠ° Π² Π³ΠΎΠ»ΠΎΠ²Π΅ всС Π²Ρ‹ΡˆΠ΅ΠΎΠΏΠΈΡΠ°Π½Π½Ρ‹Π΅ ΠΈΠ΄Π΅ΠΈ, я отправился ΠΏΠΈΡΠ°Ρ‚ΡŒ свою Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ. Π’ΠΎΡ‚, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΎΡΡŒ.

Для Ρ‚Π΅Ρ…, ΠΊΠΎΠΌΡƒ лСнь Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ ΠΊΠΎΠ΄, Π½ΠΎ хочСтся ΠΏΠΎΠ½ΡΡ‚ΡŒ, ΠΊΠ°ΠΊ это Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ, я сдСлал Π±ΠΎΡ‚Π° @tg_logger_demo_bot.

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

Π§Ρ‚ΠΎΠ±Ρ‹ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΎΠΉ Π½ΡƒΠΆΠ½ΠΎ:

ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ‚Π΅Π»Π΅Π³Ρ€Π°ΠΌΠΌ Π±ΠΎΡ‚Π° (ΠΊΠ°ΠΊ это ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ описано здСсь)

ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ свой user_id (это ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ‡Π΅Ρ€Π΅Π· @tg_logger_demo_bot с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ /id )

Установим Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ Ρ‡Π΅Ρ€Π΅Π· pip.

Рассмотрим ΠΊΠΎΠ΄ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°

Особо интСрСсна для нас строка, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π»ΠΎΠ³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π² Ρ‚Π΅Π»Π΅Π³Ρ€Π°ΠΌΠΌ.

Π’ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ setup() Π½ΡƒΠΆΠ½ΠΎ просто ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ Ρ‚ΠΎΡ‚ logger, ΠΊ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ мост. Если Π·Π°Π³Π»ΡΠ½ΡƒΡ‚ΡŒ Π² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ, Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π½Π° Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ setup(). Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π½ΠΈΡ… ΠΌΠΎΠΆΠ½ΠΎ, Π² частности, Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π»ΠΎΠ³ΠΈ Π±ΡƒΠ΄ΡƒΡ‚ ΠΎΡ‚ΠΏΡ€Π°Π²Π»Π΅Π½Ρ‹.

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

Outro

Π’Π΅ΡΡŒ исходный ΠΊΠΎΠ΄ Π΅ΡΡ‚ΡŒ Π½Π° Π³ΠΈΡ‚Ρ…Π°Π±Π΅: github.com/otter18/tg_logger.

ДокумСнтация Π½Π° английском Π΅ΡΡ‚ΡŒ Π½Π° Read the Docs.

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

TelegramBot инструкция ΠΏΠΎ созданию Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»Π° для Π±ΠΎΡ‚Π°. (Π§Π°ΡΡ‚ΡŒ 1)

НС Ρ‚Π°ΠΊ Π΄Π°Π²Π½ΠΎ я ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠΈΠ» Π²Π°ΠΌ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΌΠΎΠΈΠΌ Π±ΠΎΡ‚ΠΎΠΌ для Ρ‚Π΅Π»Π΅Π³Ρ€Π°ΠΌΠΌΠ°.

ΠŸΠΎΠ»ΡƒΡ‡ΠΈΠ² ΠΌΠ½ΠΎΠ³ΠΎ вопросов Π² Π»ΠΈΡ‡ΠΊΡƒ, я понял, Ρ‡Ρ‚ΠΎ вопрос создания Π±ΠΎΡ‚ΠΎΠ² для Π’Π΅Π»Π΅Π³Ρ€Π°ΠΌ довольно популярСн.

Π£ мСня ΡΠΏΡ€Π°ΡˆΠΈΠ²Π°Π»ΠΈ исходный ΠΊΠΎΠ΄ Π±ΠΎΡ‚Π°, просили ΠΏΠΎΠ΄Π΅Π»ΠΈΡ‚ΡŒΡΡ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΌΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌΠΈ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ‚Π΅Ρ… ΠΈΠ»ΠΈ ΠΈΠ½Ρ‹Ρ… возмоТностСй Π±ΠΎΡ‚Π°, просили ΠΏΠΎΠ΄ΡΠΊΠ°Π·Π°Ρ‚ΡŒ Ρ‚ΠΎΡ‚ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π» ΠΏΠΎ Ρ€Π°Π±ΠΎΡ‚Π΅ с Π±ΠΎΡ‚ΠΎΠΌ ΠΈ сообщСниями.

Π― Ρ€Π΅ΡˆΠΈΠ» Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Ρ†ΠΈΠΊΠ» статСй, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Ρ…ΠΎΡ‡Ρƒ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ Π±Π°Π·ΠΎΠ²Ρ‹Π΅ Π²Π΅Ρ‰ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ Π½ΡƒΠΆΠ½Ρ‹ Π²Π°ΠΌ для написания своСго Π±ΠΎΡ‚Π°.
Вас ΠΆΠ΄Π΅Ρ‚ Java, Maven, TelegramAPI, Lombok ΠΈ Log4j.
ΠšΠΎΠΌΡƒ интСрСсно β€” ΠΏΡ€ΠΎΡˆΡƒ ΠΏΠΎΠ΄ кат…

И сразу с ΠΊΠΎΠ·Ρ‹Ρ€Π΅ΠΉ Π·Π°ΠΉΠ΄Ρƒ πŸ™‚

Π’ΠΎ, ΠΎ Ρ‡Π΅ΠΌ просили Π² ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΉ ΡΡ‚Π°Ρ‚ΡŒΠ΅.

Π’ Π²Π΅Ρ‚ΠΊΠ΅ «master» Π±ΡƒΠ΄Π΅Ρ‚ Ρ„ΠΈΠ½Π°Π»ΡŒΠ½Π°Ρ вСрсия Π±ΠΎΡ‚Π°, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΌΡ‹ вмСстС с Π²Π°ΠΌΠΈ ΠΈ напишСм, Π² процСссС появлСния Π½ΠΎΠ²Ρ‹Ρ… статСй.

ΠŸΠΎΠ»Π½Ρ‹ΠΉ исходники ΠΏΠΎ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ находится Π² Π²Π΅Ρ‚ΠΊΠ΅ «Part1-Base».

Π’ Π΄Π°Π½Π½ΠΎΠΉ части ΠΌΡ‹ создадим с Π²Π°ΠΌΠΈ Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ шаблон, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ способСн Π±ΡƒΠ΄Π΅Ρ‚:

Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ стандартный maven ΠΏΡ€ΠΎΠ΅ΠΊΡ‚

(я ΡƒΠΏΡƒΡ‰Ρƒ ΠΌΠ°Π½ΡƒΠ°Π»Ρ‹ ΠΏΠΎ Ρ€Π°Π±ΠΎΡ‚Π΅ со срСдой Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈ Π±Π°Π·ΠΎΠ²Ρ‹Π΅ Π²Π΅Ρ‰ΠΈ ΠΈΠ· Java программирования. ВсС эти Π²Π΅Ρ‰ΠΈ достаточно Π»Π΅Π³ΠΊΠΎ Π³ΡƒΠ³Π»ΡΡ‚ΡŒΡΡ.А Ссли Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒΡΡ β€” ΠΏΠΈΡˆΠΈΡ‚Π΅ вопросы).

Π”Π°Π²Π°ΠΉΡ‚Π΅ посмотрим, ΠΊΠ°ΠΊΠΈΠ΅ зависимости Π½Π°ΠΌ Π±ΡƒΠ΄ΡƒΡ‚ Π½ΡƒΠΆΠ½Ρ‹ Π² этом ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅.

Π’ ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ это Lombok. Π§Ρ‚ΠΎ это ΠΈ Π·Π°Ρ‡Π΅ΠΌ β€” ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ‚ΡƒΡ‚.

И ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Π»ΠΎΠ³Π³Π΅Ρ€. Π― ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽ log4j ΠΈ Ρ‡ΡƒΡ‚ΡŒ дальшС ΠΏΠΎΠΊΠ°ΠΆΡƒ Π²Π°ΠΌ ΠΊΠ°ΠΊ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈ ΠΎΡ‚Π»Π°Π΄ΠΊΠ΅ Π΄Π°Π½Π½ΠΎΠ³ΠΎ прилоТСния ΠΈ Π±ΠΎΠ»Π΅Π΅ Π³Π»ΡƒΠ±ΠΎΠΊΠΎΠ³ΠΎ осмыслСния Ρ€Π°Π±ΠΎΡ‚Ρ‹ TelegramAPI.

И, Ρ‚.ΠΊ. ΠΌΡ‹ пишСм Π±ΠΎΡ‚Π° для Π’Π΅Π»Π΅Π³Ρ€Π°ΠΌ, Ρ‚ΠΎ ΠΈ саму Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ ΠΎΡ‚ Telegram:

Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Ρƒ pom Ρ„Π°ΠΉΠ»Π° ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ‚ΡƒΡ‚
Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Ρƒ Ρ„Π°ΠΉΠ»Π° pom.xml ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Ρ‚ΡƒΡ‚.

Π”Π°Π»Π΅Π΅ добавляСм Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ класс Bot.java, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ всС нашС взаимодСйствиС с с сСрвисами Telegram. Π Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ LongPolling, Ρ‚.ΠΊ. этот ΠΌΠ΅Ρ‚ΠΎΠ΄ Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ сСртификатов ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ ΠΈ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒΡΡ ΠΌΠΎΠΆΠ΅Ρ‚ с любой ΠΌΠ°ΡˆΠΈΠ½Ρ‹, которая ΠΈΠΌΠ΅Π΅Ρ‚ Java Ρƒ сСбя Π½Π° Π±ΠΎΡ€Ρ‚Ρƒ.

Для этого ΠΌΡ‹ наслСдуСмся ΠΎΡ‚ класса TelegramLongPollingBot ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅ΠΌ Π±Π°Π·ΠΎΠ²Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹:

public void onUpdateReceived(Update update)
public String getBotUsername()
public String getBotToken()

И ΠΎΡ‚ сСбя Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρƒ, которая Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ наш Π±ΠΎΡ‚ ΠΊ TelegramAPI:

public void botConnect()

Π’ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ΅ всС. Π”Π°Π½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ ΡƒΠΌΠ΅Π΅Ρ‚ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒΡΡ ΠΊ сСрвСрам Π’Π΅Π»Π΅Π³Ρ€Π°ΠΌΠΌ ΠΈ ΠΏΡ€ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠΈ адрСсованных Π΅ΠΌΡƒ сообщСний Π±ΡƒΠ΄Π΅Ρ‚ Ρ„ΠΈΠΊΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π² Π»ΠΎΠ³ Ρ„Π°ΠΉΠ» ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ» Update.

Π”Π°Π²Π°ΠΉΡ‚Π΅ создадим класс, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈ Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ нашС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅.

Π­Ρ‚ΠΈΠΌ займСтся класс App.java. Бсылка Π½Π° Ρ„Π°ΠΉΠ»: Ρ‚ΡƒΡ‚

Как Π²Ρ‹ Π²ΠΈΠ΄ΠΈΡ‚Π΅, для Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π±ΠΎΡ‚Π° Π½Π°ΠΌ понадобятся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ «имя Π±ΠΎΡ‚Π°Β» ΠΈ Β«Ρ‚ΠΎΠΊΠ΅Π½Β», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΡ‹ ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Π΄ΠΈΠΌ Π² конструкторС нашСго класса Bot.

Имя ΠΈ Ρ‚ΠΎΠΊΠ΅Π½ для Π±ΠΎΡ‚Π° Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Ρƒ ΠΎΡ‚Ρ†Π° всСх Π±ΠΎΡ‚ΠΎΠ² :), написав Π΅ΠΌΡƒ Π² Ρ‚Π΅Π»Π΅Π³Ρ€Π°ΠΌΠΌΠ΅.
Π•Π³ΠΎ Π½ΠΈΠΊ: @BotFather
ΠžΠ±Ρ‰Π΅Π½ΠΈΠ΅ с Π½ΠΈΠΌ ΠΎΡ‡Π΅Π½ΡŒ простоС ΠΈ Π»Π°ΠΊΠΎΠ½ΠΈΡ‡Π½ΠΎΠ΅.

Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ Ρƒ вас Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ Ρ‚Π°ΠΊΠΎΠΉ Π΄ΠΈΠ°Π»ΠΎΠ³:

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

Π’Π°ΠΊ ΠΆΠ΅ здСсь ΠΏΠΈΡˆΡƒΡ‚, Ρ‡Ρ‚ΠΎ Π°ΠΊΠΊΡƒΡ€Π°Ρ‚Π½Π΅Π΅, Π½ΠΈΠΊΠΎΠΌΡƒ Π½Π΅ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°ΠΉΡ‚Π΅ эту ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ, ΠΈΠ½Π°Ρ‡Π΅ ΠΊΡ‚ΠΎ-Ρ‚ΠΎ Π΄Ρ€ΡƒΠ³ΠΎΠΉ смоТСт ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ вашим Π±ΠΎΡ‚ΠΎΠΌ πŸ™‚

Π’Ρ‹ скаТСтС, Ρ‡Ρ‚ΠΎ я Π½Π΅ ΠΎΡ‡Π΅Π½ΡŒ аккуратСн… Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π½ΠΎ ΠΎΡ‚Π΅Ρ† Π±ΠΎΡ‚ΠΎΠ² позволяСт Π½Π°ΠΌ ΠΌΠ΅Π½ΡΡ‚ΡŒ Ρ‚ΠΎΠΊΠ΅Π½Ρ‹ ΠΈ ΠΎΡ‚Π·Ρ‹Π²Π°Ρ‚ΡŒ Ρ‚Π΅, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠΏΠ°Π»ΠΈ Π² ΠΏΡƒΠ±Π»ΠΈΡ‡Π½Ρ‹ΠΉ доступ. ΠŸΠΎΡ‚ΠΎΠΌΡƒ с ΠΏΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Π² ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒΡΡ с ΠΌΠΎΠΈΠΌΠΈ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ, Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ Ρ‚Π°ΠΊΠΎΠ΅ сообщСниС:

Π’Π°ΠΊ Ρ‡Ρ‚ΠΎ с ΠΌΠΎΠΈΠΌΠΈ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ Π²Π°ΠΌ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒΡΡ Π½Π΅ получится. РСгистрируйтС свои. НовыС Π΄Π°Π½Π½Ρ‹Π΅ ΡƒΠΊΠ°ΠΆΠΈΡ‚Π΅ Π² классС App.java

Π’Π΅ΠΏΠ΅Ρ€ΡŒ запустив ΠΌΠ΅Ρ‚ΠΎΠ΄ main Π² классС App ΠΌΡ‹ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠΌ Π½Π°ΡˆΠ΅ΠΌΡƒ Π±ΠΎΡ‚Ρƒ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒΡΡ ΠΈ ΠΆΠ΄Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹Ρ… сообщСний. О своих дСйствиях ΠΈ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ°Ρ… ΠΎΠ½ Π½Π°ΠΏΠΈΡˆΠ΅Ρ‚ Π½Π°ΠΌ Π² консолС.

Log4j

ΠŸΠΎΠΌΠ½ΠΈΡ‚Π΅, Π²Ρ‹ΡˆΠ΅ я Π³ΠΎΠ²ΠΎΡ€ΠΈΠ» ΠΎ полСзности Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ log4j. И Π²ΠΎΡ‚ Ρ‚ΡƒΡ‚ для Π»ΡŽΠ±ΠΎΠΏΡ‹Ρ‚Π½Ρ‹Ρ… открываСтся ΠΊΠ»ΠΎΠ½Π΄Π°ΠΉΠΊ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ….

Π’ Ρ„Π°ΠΉΠ»Π΅ log4j.properties ΡƒΠΆΠ΅ прописаны Π±Π°Π·ΠΎΠ²Ρ‹Π΅ настройки для логирования ΠΈ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Π΅ ΡƒΡ€ΠΎΠ²Π½ΠΈ логирования для сторонних классов ΠΈ для Ρ‚Π΅Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ Π² нашСм Π±ΠΎΡ‚Π΅.

Π‘Π°Π·ΠΎΠ²Ρ‹ΠΉ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ логирования Ρƒ нас ΡƒΠΊΠ°Π·Π°Π½ ΠΊΠ°ΠΊ Error.

Для классов Bot ΠΈ App ΡƒΠΊΠ°Π·Π°Π½ Π²Ρ‹Π²ΠΎΠ΄ Π»ΠΎΠ³ΠΎΠ² Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ Debug.

Π§Ρ‚ΠΎ это Π·Π° ΡƒΡ€ΠΎΠ²Π½ΠΈ ΠΈ Ρ‡Π΅ΠΌ ΠΎΡ‚Π»ΠΈΡ‡Π°ΡŽΡ‚ΡΡ β€” Π²Ρ‹ Π»Π΅Π³ΠΊΠΎ Π½Π°ΠΉΠ΄Π΅Ρ‚Π΅ Π² Π³ΡƒΠ³Π»Π΅.

Если Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ, ΠΊΠ°ΠΊ ΠΈ Π² ΠΊΠ°ΠΊΠΎΠΌ порядкС ΠΎΡ‚Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Π’Π΅Π»Π΅Π³Ρ€Π°ΠΌ всС ваши дСйствия β€” ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ Ρ€Π΅ΠΆΠΈΠΌ ΠΎΠ±Ρ‰Π΅Π³ΠΎ логирования Π½Π° ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ Π½ΠΈΠΆΠ΅: info ΠΈΠ»ΠΈ debug.

И ΠΏΡ€ΠΈ запускС прилоТСния Π²Ρ‹ Π² консоли ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅, сколько всСго интСрСсного происходит Π² процСссС ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ, Ρ€Π°Π±ΠΎΡ‚Ρ‹. Бколько Ρ€Π°Π· ΠΎΠΏΡ€Π°ΡˆΠΈΠ²Π°ΡŽΡ‚ΡΡ ваши Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ с ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠΈ Ρ‚ΠΎΠΊΠ΅Π½ΠΎΠΌ Π±ΠΎΡ‚Π°.

Π£Ρ€ΠΎΠ²Π½ΠΈ логирования ΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ Π²ΠΎΡ‚ этой строчкой:
Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π»ΠΎΠ³ΠΈ ΠΏΠΎ ΡƒΡ€ΠΎΠ²Π½ΡŽ info, ставитС Π²ΠΎΡ‚ Ρ‚Π°ΠΊ:

Для уровня debug, Π²ΠΎΡ‚ Ρ‚Π°ΠΊ:

И Π² Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

БСйчас Ρƒ нас Π±ΠΎΡ‚: ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ, ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π°ΠΌ красивыС Π»ΠΎΠ³ΠΈ ΠΈ сообщаСт ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π΅ΠΌΡƒ приходят сообщСния.

Но Π²Ρ‹ΡˆΠ΅ я Π²Π°ΠΌ ΠΎΠ±Π΅Ρ‰Π°Π», Ρ‡Ρ‚ΠΎ Π±ΠΎΡ‚ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚Π·Ρ‹Π²Π°Ρ‚ΡŒΡΡ Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ старт. Π”Π°Π²Π°ΠΉΡ‚Π΅ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠΌ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρƒ, ΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²Π΅Π½Π½ΡƒΡŽ Π·Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Ρ… сообщСний.

Как Π²ΠΈΠ΄Π½ΠΎ ΠΈΠ· ΠΊΠΎΠ΄Π° Π±ΠΎΡ‚ Π΄Π΅Π»Π°Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:

Π’ дальнСйшСм я ΠΏΠΎΠΊΠ°ΠΆΡƒ Π²Π°ΠΌ, ΠΊΠ°ΠΊ Π² ΠΌΠΎΠΈΡ… Π±ΠΎΡ‚Π°Ρ… рСализуСтся:

А Π²Ρ‚ΠΎΡ€ΠΎΠΉ β€” Π”Π΅Ρ€Π·ΠΊΠΈΠΉ ΠΊΠΈΠ½ΠΎΠΌΠ°Π½. Он ΠΎΡ‡Π΅Π½ΡŒ Π»ΡŽΠ±ΠΈΡ‚ Ρ„ΠΈΠ»ΡŒΠΌΡ‹ ΠΈ ΠΎΡ‡Π΅Π½ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ ΠΎ Π½ΠΈΡ… Π·Π½Π°Π΅Ρ‚. А Π΅Ρ‰Π΅ большС ΠΎΠ½ Π»ΡŽΠ±ΠΈΡ‚ дСлится с Π²Π°ΠΌΠΈ своими знаниями. Он Π²Π΅Π΄Π΅Ρ‚ свой ΠΊΠ°Π½Π°Π» Π² Ρ‚Π΅Π»Π΅Π³Ρ€Π°ΠΌΠΌΠ΅, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ сам Ρ€Π΅ΡˆΠ°Π΅Ρ‚, ΠΊΠ°ΠΊΠΈΠ΅ Ρ„ΠΈΠ»ΡŒΠΌΡ‹ Π΅ΠΌΡƒ нравятся ΠΈ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ ΠΈΡ… Π²Π°ΠΌ. Он ΡƒΠΌΠ΅Π΅Ρ‚ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠΎΠ΄Π±ΠΎΡ€ΠΊΠΈ ΠΏΠΎ ΠΆΠ°Π½Ρ€Π°ΠΌ ΠΈ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ подписку Π½Π° ΠΏΠ΅Ρ€ΡΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΠΈ. Он ΡƒΠΌΠ΅Π΅Ρ‚ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ Ρ‚Π°ΠΊΠΈΠ΅ ΡˆΠ΅Π΄Π΅Π²Ρ€Ρ‹, ΠΎ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π²Ρ‹ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ ΡΠ»Ρ‹ΡˆΠ°Π»ΠΈ ΠΈ Π΄Π°ΠΆΠ΅ Π½Π΅ Π·Π½Π°Π»ΠΈ ΠΊΠ°ΠΊ Ρ‚Π°ΠΊΠΈΠ΅ Ρ„ΠΈΠ»ΡŒΠΌΡ‹ Π²ΠΎΠΎΠ±Ρ‰Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ.

НапримСр, ΠΊΠ°ΠΊ Π²Ρ‹ Π΄ΡƒΠΌΠ°Π΅Ρ‚Π΅, ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Π»ΠΈ Ρ„ΠΈΠ»ΡŒΠΌΡ‹ с Ρ‚Π°ΠΊΠΎΠΉ Β«Π΄ΠΈΠΊΠΎΠΉΒ» ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠ΅ΠΉ ΠΆΠ°Π½Ρ€ΠΎΠ², ΠΊΠ°ΠΊ: Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΉ, уТасы, комСдия.

А Π²ΠΎΡ‚ Π±ΠΎΡ‚ ΠΏΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π΅

Π‘ΠΊΠ°ΠΆΠ΅Ρ‚, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΈΡ… Ρ„ΠΈΠ»ΡŒΠΌΠΎΠ² с 2010 ΠΏΠΎ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ сняли Π°ΠΆ 6 ΡˆΡ‚ΡƒΠΊ πŸ™‚

Как Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹ΠΌΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ, ΠΊΠ°ΠΊ Ρ€Π°Π·Π±ΠΈΡ€Π°Ρ‚ΡŒ строки ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ ΠΌΡ‹ рассмотрим с Π²Π°ΠΌΠΈ Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… публикациях.

Бпасибо Π²Π°ΠΌ Π·Π° Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΠΉΡ‚Π΅ Π² ΡƒΠ΄ΠΎΠ²ΠΎΠ»ΡŒΡΡ‚Π²ΠΈΠ΅ πŸ™‚

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

Π›ΠΎΠ³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π² Ρ‚Π΅Π»Π΅Π³Ρ€Π°ΠΌ, ΠΈΠ»ΠΈ история ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ я сдСлал ΠΏΠΈΡ‚ΠΎΠ½ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ

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

Intro

Π”Π°Π²Π½Ρ‹ΠΌ-Π΄Π°Π²Π½ΠΎ, Π° Ρ‚ΠΎΡ‡Π½Π΅Π΅ нСсколько мСсяцСв Π½Π°Π·Π°Π΄, Π½Π°ΠΊΠ°Π½ΡƒΠ½Π΅ Нового Π³ΠΎΠ΄Π°, я сидСл Π΄ΠΎΠΌΠ° ΠΈ Ρ€Π΅ΡˆΠ°Π» Π·Π°Π΄Π°Ρ‡Ρƒ ΠΏΠΎ ΠΌΠ°ΡˆΠΈΠ½Π½ΠΎΠΌΡƒ ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΡŽ. Бвязана ΠΎΠ½Π° Π±Ρ‹Π»Π° с Π½Π΅ΠΉΡ€ΠΎΠ½Π½Ρ‹ΠΌΠΈ сСтями ΠΈ классификациСй тСкстов, поэтому я СстСствСнно пользовался бСсплатным GPU ΠΎΡ‚ Π³ΡƒΠ³Π»Π° (colab). Π—Π° ΠΎΠΊΠ½ΠΎΠΌ шСл снСг, Π° ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΎΠ±ΡƒΡ‡Π°Π»ΠΈΡΡŒ Π½Ρƒ ΡƒΠΆ ΠΎΡ‡Π΅Π½ΡŒ Π΄ΠΎΠ»Π³ΠΎ. ΠžΠ±ΡƒΡ‡Π°Ρ‚ΡŒ модСль ΠΎΡΡ‚Π°Π²Π°Π»ΠΎΡΡŒ всСго нСсколько ΠΌΠΈΠ½ΡƒΡ‚, ΠΊΠ°ΠΊ Π²Π΄Ρ€ΡƒΠ³ появляСтся ΡƒΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΊ runtime потСряно, Π° это Π·Π½Π°Ρ‡ΠΈΡ‚, Ρ‡Ρ‚ΠΎ ΠΎΠ±ΡƒΡ‡Π΅Π½Π½ΡƒΡŽ модСль ΠΈ сабмиты ΠΈΠ· этого runtime ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ я Π½Π΅ смогу, ΠΈ всС придСтся Π½Π°Ρ‡ΠΈΠ½Π°Ρ‚ΡŒ Π·Π°Π½ΠΎΠ²ΠΎ.

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

Данная ситуация мСня расстроила ΠΈ заставила Π·Π°Π΄ΡƒΠΌΠ°Ρ‚ΡŒΡΡ ΠΎΡ‚ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π½Π°Π΄ΠΎ ΠΊΠ°ΠΊ-Ρ‚ΠΎ Ρ‡Π΅Ρ€Π΅Π· ΠΊΠΎΠ΄ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ процСсс выполнСния ΠΊΠΎΠ΄Π° Π½Π΅ прСкращаСтся, ΠΊΠΎΠ³Π΄Π° Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ такая ошибка. ΠŸΠΎΡ‡Π΅ΠΌΡƒ-Ρ‚ΠΎ я сразу ΠΏΠΎΠ΄ΡƒΠΌΠ°Π» ΠΏΡ€ΠΎ Ρ‚Π΅Π»Π΅Π³Ρ€Π°ΠΌ Π±ΠΎΡ‚ΠΎΠ² ΠΈ, написав нСсколько Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, смог ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ самбиты ΠΈ ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ обучаСтся модСль ΠΈ сколько Π΅ΠΉ ΠΎΡΡ‚Π°Π»ΠΎΡΡŒ.

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

ΠšΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π» я этот ΠΊΠΎΠ΄ ΠΈΠ· Π½ΠΎΡƒΡ‚Π±ΡƒΠΊΠ° (jupyter notebook) Π² Π½ΠΎΡƒΡ‚Π±ΡƒΠΊ, Π° ΠΏΠΎΡ‚ΠΎΠΌ осознал, Ρ‡Ρ‚ΠΎ это ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π² ΠΌΠΎΠ΄ΡƒΠ»ΡŒ logging ΠΈ Π·Π°Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ Π² Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ Ρ‚Π°ΡΠΊΠ°Ρ‚ΡŒ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π· большиС куски ΠΊΠΎΠ΄Π°, Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ всСго ΠΏΠ°Ρ€Ρƒ строк.

Logging.handlers

ΠŸΠΎΠ½ΡΡ‚Π½ΠΎ Π±Ρ‹Π»ΠΎ, Ρ‡Ρ‚ΠΎ Π·Π° основу Π½Π°Π΄ΠΎ Π²Π·ΡΡ‚ΡŒ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ для логирования, встроСнный Π² ΠΏΠΈΡ‚ΠΎΠ½. ΠžΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΈΠ·ΠΎΠ±Ρ€Π΅Ρ‚Π°Ρ‚ΡŒ свой вСлосипСд ΠΌΠ½Π΅ Π½Π΅ Ρ…ΠΎΡ‚Π΅Π»ΠΎΡΡŒ, Π° Π΅Ρ‰Π΅ ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ, для использования Π² прилоТСниях ΠΏΡ€ΠΈΡˆΠ»ΠΎΡΡŒ Π±Ρ‹ ΠΏΠ΅Ρ€Π΅ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ вСсь ΠΊΠΎΠ΄ логирования. Надо Π±Ρ‹Π»ΠΎ Π½Π°ΠΉΡ‚ΠΈ способ ΠΏΠ΅Ρ€Π΅Ρ…Π²Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ Π»ΠΎΠ³ΠΈ, ΠΈ ΠΏΠ΅Ρ€Π΅ΡΡ‹Π»Π°Ρ‚ΡŒ ΠΈΡ… Π² Ρ‚Π΅Π»Π΅Π³Ρ€Π°ΠΌΠΌ. К ΡΡ‡Π°ΡΡ‚ΡŒΡŽ, Π² logging Π΅ΡΡ‚ΡŒ Ρ‚Π°ΠΊΠΎΠΉ класс, ΠΊΠ°ΠΊ StreamHandler. НС Π±ΡƒΠ΄Ρƒ Π²Π΄Π°Π²Π°Ρ‚ΡŒΡΡ Π² подробности, Π½ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π½Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ свою Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, которая Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒΡΡ для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π½ΠΎΠ²ΠΎΠΉ строки Π² Π»ΠΎΠ³Π°Ρ… ΠΈ ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ Π΅Π΅ Π² Ρ‚Π΅Π»Π΅Π³Ρ€Π°ΠΌΠΌ.

Tg-logger

И Π²ΠΎΡ‚, Π΄Π΅Ρ€ΠΆΠ° Π² Π³ΠΎΠ»ΠΎΠ²Π΅ всС Π²Ρ‹ΡˆΠ΅ΠΎΠΏΠΈΡΠ°Π½Π½Ρ‹Π΅ ΠΈΠ΄Π΅ΠΈ, я отправился ΠΏΠΈΡΠ°Ρ‚ΡŒ свою Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ. Π’ΠΎΡ‚, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΎΡΡŒ.

Для Ρ‚Π΅Ρ…, ΠΊΠΎΠΌΡƒ лСнь Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ ΠΊΠΎΠ΄, Π½ΠΎ хочСтся ΠΏΠΎΠ½ΡΡ‚ΡŒ, ΠΊΠ°ΠΊ это Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ, я сдСлал Π±ΠΎΡ‚Π° @tg_logger_demo_bot.

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

Π§Ρ‚ΠΎΠ±Ρ‹ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΎΠΉ Π½ΡƒΠΆΠ½ΠΎ:

ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ‚Π΅Π»Π΅Π³Ρ€Π°ΠΌΠΌ Π±ΠΎΡ‚Π° (ΠΊΠ°ΠΊ это ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ описано здСсь)

ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ свой user_id (это ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ‡Π΅Ρ€Π΅Π· @tg_logger_demo_bot с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ /id )

Установим Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ Ρ‡Π΅Ρ€Π΅Π· pip.

Рассмотрим ΠΊΠΎΠ΄ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°

Особо интСрСсна для нас строка, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π»ΠΎΠ³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π² Ρ‚Π΅Π»Π΅Π³Ρ€Π°ΠΌΠΌ.

Π’ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ setup() Π½ΡƒΠΆΠ½ΠΎ просто ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ Ρ‚ΠΎΡ‚ logger, ΠΊ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ мост. Если Π·Π°Π³Π»ΡΠ½ΡƒΡ‚ΡŒ Π² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ, Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π½Π° Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ setup(). Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π½ΠΈΡ… ΠΌΠΎΠΆΠ½ΠΎ, Π² частности, Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π»ΠΎΠ³ΠΈ Π±ΡƒΠ΄ΡƒΡ‚ ΠΎΡ‚ΠΏΡ€Π°Π²Π»Π΅Π½Ρ‹.

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

TgFileLogger

Π‘Ρ‚ΠΎΠΈΡ‚ Ρ‚Π°ΠΊΠΆΠ΅ ΡƒΠΏΠΎΠΌΡΠ½ΡƒΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ² я Ρ‚ΠΎΠΆΠ΅ Π΄ΠΎΠ±Π°Π²ΠΈΠ».

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

Outro

Π’Π΅ΡΡŒ исходный ΠΊΠΎΠ΄ Π΅ΡΡ‚ΡŒ Π½Π° Π³ΠΈΡ‚Ρ…Π°Π±Π΅: github.com/otter18/tg_logger.

ДокумСнтация Π½Π° английском Π΅ΡΡ‚ΡŒ Π½Π° Read the Docs.

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

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

НС сСкрСт, Ρ‡Ρ‚ΠΎ Telegram являСтся Π½Π° Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· самых популярных мСссСндТСров. ОсобСнно Π² срСдС ИВ-спСциалистов. Он ΡƒΠ΄ΠΎΠ±Π΅Π½, Π² Π½Π΅ΠΌ Π½Π΅Ρ‚ встроСнной Ρ€Π΅ΠΊΠ»Π°ΠΌΡ‹ ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ вСсьма ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎ. Π”ΠΎΠ²ΠΎΠ»ΡŒΠ½ΠΎ Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ я ΠΎΠ±Ρ‰Π°ΡŽΡΡŒ ΠΊΠ°ΠΊ ΠΏΠΎ Ρ€Π°Π±ΠΎΡ‚Π΅, Ρ‚Π°ΠΊ ΠΈ ΠΏΠΎ Π»ΠΈΡ‡Π½Ρ‹ΠΌ вопросам ΠΈΠΌΠ΅Π½Π½ΠΎ Π² этом мСссСндТСрС. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π² ΠΎΠ΄ΠΈΠ½ прСкрасный дСнь я ΠΏΠΎΠ΄ΡƒΠΌΠ°Π» ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π±Ρ‹Π»ΠΎ Π±Ρ‹ ΡƒΠ΄ΠΎΠ±Π½ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π² этом ΠΆΠ΅ мСссСндТСрС я ΠΌΠΎΠ³ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ увСдомлСния ΠΎ Ρ€Π°Π±ΠΎΡ‚Π΅ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… своих сСрвисов. На Ρ‚ΠΎΡ‚ ΠΌΠΎΠΌΠ΅Π½Ρ‚ я ΠΊΠ°ΠΊ Ρ€Π°Π· Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π» Π½Π°Π΄ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠ΅ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° //devdigest ΠΈ Telegram, поэтому ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Ρ‚ΠΎΡ‚ ΠΆΠ΅ Ρ€ΠΎΠ΄Π½ΠΎΠΉ Telegram Bot SDK довольно быстро Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π» Π»ΠΎΠ³Π³Π΅Ρ€.

НСсколько Π΄Π½Π΅ΠΉ Π½Π°Π·Π°Π΄ я Ρ€Π΅ΡˆΠΈΠ» Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒΡΡ ΠΊ этому ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρƒ, слСгка ΠΏΠΎΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ ΠΈ ΠΎΡ‚Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄, Π° Π·Π°Ρ‚Π΅ΠΌ Π²Ρ‹Π»ΠΎΠΆΠΈΡ‚ΡŒ Π΅Π³ΠΎ Π² ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ доступ – Π±Ρ‹Ρ‚ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ получСния Π»ΠΎΠ³ΠΎΠ² Π² Π’Π΅Π»Π΅Π³Ρ€Π°ΠΌ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ»Π΅Π·Π½Π° ΠΊΠΎΠΌΡƒ-Ρ‚ΠΎ Π΅Ρ‰Π΅.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π»ΠΎΠ³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π² Ρ‚Π΅Π»Π΅Π³Ρ€Π°ΠΌΠΌΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π»ΠΎΠ³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π² Ρ‚Π΅Π»Π΅Π³Ρ€Π°ΠΌΠΌΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π»ΠΎΠ³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π² Ρ‚Π΅Π»Π΅Π³Ρ€Π°ΠΌΠΌΠ΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π»ΠΎΠ³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π² Ρ‚Π΅Π»Π΅Π³Ρ€Π°ΠΌΠΌΠ΅. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π»ΠΎΠ³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π² Ρ‚Π΅Π»Π΅Π³Ρ€Π°ΠΌΠΌΠ΅Π’ΠΎΡ‚ Π² Ρ‚Π°ΠΊΠΎΠΌ Π²ΠΈΠ΄Π΅ приходят Π»ΠΎΠ³ΠΈ Π² Ρ‚Π΅Π»Π΅Π³Ρ€Π°ΠΌΠΌ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ я занимаюсь

ΠŸΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ°

ΠŸΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΊ настройкС самого Π»ΠΎΠ³Π³Π΅Ρ€Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ нСсколько ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… шагов. А ΠΈΠΌΠ΅Π½Π½ΠΎ – ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΊΠ°Π½Π°Π» (ΠΏΡƒΠ±Π»ΠΈΡ‡Π½Ρ‹ΠΉ, ΠΈΠ»ΠΈ ΠΏΡ€ΠΈΠ²Π°Ρ‚Π½Ρ‹ΠΉ), Π³Π΄Π΅ Π±ΡƒΠ΄ΡƒΡ‚ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒΡΡ Π»ΠΎΠ³ΠΈ ΠΈ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π±ΠΎΡ‚Π° Π² Ρ‚Π΅Π»Π΅Π³Ρ€Π°ΠΌΠΌ, Ρ‡Π΅Ρ€Π΅Π· ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΈ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ процСсс ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ Π»ΠΎΠ³ΠΎΠ².

Богласно инструкции Π½Π° ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΌ сайтС Telegram, для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π±ΠΎΡ‚Π° Π½Π°ΠΌ Π½ΡƒΠΆΠ΅Π½ Π΄Ρ€ΡƒΠ³ΠΎΠΉ Π±ΠΎΡ‚. Π”Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎ ΠΎΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ вСсь процСсс создания Π±ΠΎΡ‚Π° я здСсь Π½Π΅ Π±ΡƒΠ΄Ρƒ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ сами Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ Telegram описали Π΅Π³ΠΎ максимально просто ΠΈ доступно. ΠžΡ‚ΠΌΠ΅Ρ‡Ρƒ лишь Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ‚ΠΎΠΊΠ΅Π½ новосозданного Π±ΠΎΡ‚Π°, Π° Ρ‚Π°ΠΊΠΆΠ΅ этого Π±ΠΎΡ‚Π° Π½ΡƒΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ администратором Π² Ρ‚ΠΎΡ‚ ΠΊΠ°Π½Π°Π», Π³Π΄Π΅ ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ Π»ΠΎΠ³ΠΈ.

ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π° ΠΏΡ€ΠΈΠ²Π°Ρ‚Π½ΠΎΠ³ΠΎ ΠΊΠ°Π½Π°Π»Π°.

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ ΠΏΡ€ΠΈΠ²Π°Ρ‚Π½ΠΎΠ³ΠΎ ΠΊΠ°Π½Π°Π»Π° придСтся Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π΅Ρ‰Π΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π±ΠΎΡ‚Π° – @JsonDumpBot. Π’Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ любоС сообщСниС ΠΈΠ· этого ΠΊΠ°Π½Π°Π»Π° ΠΏΠ΅Ρ€Π΅ΡΠ»Π°Ρ‚ΡŒ Π² этот Π±ΠΎΡ‚. Π’ ΠΎΡ‚Π²Π΅Ρ‚ Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ сообщСниС ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Ρ‚Π°ΠΊΠΎΠ³ΠΎ Π²ΠΈΠ΄Π°:

Π’Π΅ΠΏΠ΅Ρ€ΡŒ, имСя ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ Ρ‡Π°Ρ‚Π° ΠΈ Ρ‚ΠΎΠΊΠ΅Π½ Π±ΠΎΡ‚Π° ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΊ настройкС Π»ΠΎΠ³Π³Π΅Ρ€Π°.

Настройка Π»ΠΎΠ³Π³Π΅Ρ€Π°

Для ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ Π»ΠΎΠ³Π³Π΅Ρ€Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ класс TelegramLoggerOptions, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ содСрТит ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ поля:

AccessToken – Ρ‚ΠΎΠΊΠ΅Π½ Π±ΠΎΡ‚Π°;

ChatId – ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ ΠΊΠ°Π½Π°Π»Π° (ΠΏΡ€ΠΈΠ²Π°Ρ‚Π½ΠΎΠ³ΠΎ, ΠΈΠ»ΠΈ ΠΏΡƒΠ±Π»ΠΈΡ‡Π½ΠΎΠ³ΠΎ), ΠΈΠ»ΠΈ Ρ‡Π°Ρ‚Π°, ΠΊΡƒΠ΄Π° Π±ΠΎΡ‚ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ сообщСния;

LogLevel – ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ сообщСний, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒΡΡ Π² ΠΊΠ°Π½Π°Π»Π°. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ я Π² ΠΊΠ°Π½Π°Π» ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡŽ сообщСния начиная с уровня Warning, ΠΈΠ»ΠΈ Error;

Source – ΡƒΠ΄ΠΎΠ±ΠΎΡ‡ΠΈΡ‚Π°Π΅ΠΌΠΎΠ΅ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ сСрвиса. ПолСзно, Ссли Π² ΠΎΠ΄ΠΈΠ½ ΠΊΠ°Π½Π°Π» приходят сообщСния ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… сСрвисов;

БущСствуСт нСсколько Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ Π»ΠΎΠ³Π³Π΅Ρ€Π° – нСпосрСдствСнно Ρ‡Π΅Ρ€Π΅Π· ΠΊΠΎΠ΄, ΠΈΠ»ΠΈ Ρ‡Π΅Ρ€Π΅Π· Ρ„Π°ΠΉΠ» ΠΊΠΎΡ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ.

Настройка Π»ΠΎΠ³Π³Π΅Ρ€Π° Π² ΠΊΠΎΠ΄Π΅

Для Π½Π°Ρ‡Π°Π»Π° Π½ΡƒΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΈ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ экзСмпляр класса TelegramLoggerOptions.

Π—Π°Ρ‡Π΅ΠΌ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ этот ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π² ΠΌΠ΅Ρ‚ΠΎΠ΄-Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ AddTelegram():

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Ρ‚Π°ΠΊΠΎΠΉ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ здСсь.

Настройка Π»ΠΎΠ³Π³Π΅Ρ€Π° Ρ‡Π΅Ρ€Π΅Π· Ρ„Π°ΠΉΠ» ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ appconfig.json

Π’Π°ΠΊΠΆΠ΅ Π±Π»ΠΎΠ³Π³Π΅Ρ€ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΡΡ‚Ρ€Π°ΠΈΠ²Π°Ρ‚ΡŒ Ρ‡Π΅Ρ€Π΅Π· Ρ„Π°ΠΉΠ» ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ прилоТСния, ΠΊΠ°ΠΊ это ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½ΠΈΠΆΠ΅:

Π”Π°Π»Π΅Π΅, Π² ΠΌΠ΅Ρ‚ΠΎΠ΄-Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ AddTelegram() Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ экзСмпляр IConfiguration,

Установка

Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π»ΠΎΠ³Π³Π΅Ρ€ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ· NuGet, ΠΈΠ»ΠΈ ΠΆΠ΅ ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ прямо ΠΊ сСбС Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚. Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° распространяСтся ΠΏΠΎΠ΄ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠ΅ΠΉ MIT.

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

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

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