# ♾ Własna integracja - 5. Logowanie / logi

**URL:** <https://ai-speaker.discourse.group/t/wlasna-integracja-5-logowanie-logi/1027>\
**Category:** Programowanie\
**Created:** [30 Listopad 2020 09:51 UTC](https://ai-speaker.discourse.group/t/wlasna-integracja-5-logowanie-logi/1027 "2020-11-30T09:51:48Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Autor:** ![araczkowski](https://yyz2.discourse-cdn.com/free1/user_avatar/ai-speaker.discourse.group/araczkowski/32/6_2.png) [@araczkowski](https://ai-speaker.discourse.group/u/araczkowski)\
**Data wpisu:** [30 Listopad 2020 09:51 UTC](https://ai-speaker.discourse.group/t/wlasna-integracja-5-logowanie-logi/1027/1 "2020-11-30T09:51:48Z")

</div>

# Logowanie / logi

Kiedy dodajemy własną integrację pomocne jest dodanie logów w który będziemy widzieli co wpisał użytkownik, co zwrócił serwis z którym się integrujemy itp. W ostatniej części tego wprowadzenia do dodania własnej integracji opiszemy jak uruchomić program linijka po linijce w trybie wyszukiwania błędów (debug mode). Ale na tą chwilę naszą jedyną informacją o tym co się dzieje w programie “pod spodem” będą logi.

Dodajmy takie 4 linijki do naszego pliku ` __init__.py`

 ![image](https://global.discourse-cdn.com/free1/uploads/ai_speaker/original/2X/d/d475869bd3deea19087c3ff5edc9ed4271dfca62.png)

Wyjaśnimy punkty:

1. Importuje moduł logowania Pythona, który jest używany w całym Asystencie domowym przez wszystkie integracje i przez core
2. Tworzymy alias logowania
3. Dodajemy wpis do logów z priorytetem info i informacją o rozpoczęciu konfiguracji encji na podstawie wpisu konfiguracyjnego
4. Dodajemy wpis do logów z priorytetem warning i informacją o usunięciu integracji

Możliwe poziomy logowania to:  
\_LOGGER.debug(msg)  
\_LOGGER.info(msg)  
\_LOGGER.warning(msg)  
\_LOGGER.error(msg)  
\_LOGGER.critical(msg)  
\_LOGGER.exception(msg)

Od poziomu warning wyświetlamy logi w aplikacji, resta jest dostępna tylko w konsoli.

Jak zwykle zapisujemy nasz kod i dodajemy zmiany do repozytorium git, pobeiramy na bramkę:

```auto
cd ~AIS/custom_components/ais_hello
git pull

```

restartujemy serwis ais

```auto
pm2 restart ais

```

Dodajemy/usuwamy integracjię i jednocześnie sprawdzamy logi:

 ![image](https://global.discourse-cdn.com/free1/uploads/ai_speaker/original/2X/3/3848d12e73ab6777e65000b3d0f880a39f0832a5.png)

w konsoli mamy info i warning, a w aplikacji tylko warning:

 ![image](https://global.discourse-cdn.com/free1/uploads/ai_speaker/original/2X/1/1dd9598e89d2614f3cdaa8b727778a0d0846ab4c.png)

Podbne wpisy możemy dodać do pliku `sensor.py`

 ![image](https://global.discourse-cdn.com/free1/uploads/ai_speaker/original/2X/d/d2f4c98609eb8a74e96b4e420ea2972cfe2007b4.png)

```auto
_LOGGER.warning(str(config_entry.data))

```

**config\_entry.data** to parametry konfiguracji

 ![image](https://global.discourse-cdn.com/free1/uploads/ai_speaker/original/2X/4/4a83162b98ea51faea5eb1fcdb25a5a05f160e45.png)
