Pora dorobić logowanie w skrypcie. Nie będę tu przepisywał tutoriali, więc jedynie odeślę do opisu logowania w Hitchhiker’s guide to Python oraz chyba nawet lepszego wpisu na temat dobrych praktyk logowania w Pythonie Docelowo konfiguracja logowania w pliku konfiguracyjnym. Waham się czy jednak syslog, czy może osobny plik, ale to jest detal.
Wczoraj w pociągu rozpisałem wstępnie, co chciałbym logować na poszczególnych poziomach i wyszło mi coś takiego:
WARNING/ERROR:
- błąd otwarcia lub parsowania pliku konfiguracyjnego
- nieistnienie interfejsu zdefiniowanego w pliku konfiguracyjnym
- błąd zwrócony przez skrypty pomocnicze
- brak skryptu pomocniczego, jeśli był zdefiniowany w pliku konfiguracyjnym[1]
- nieosiągalne IP[2]
INFO:
- znalezienie lepszej trasy i zmiana routingu, czyli podstawa
- ostateczna punktacja dla danego interfejsu (docelowo może w DEBUG?)
- znalezienie lepszej trasy, niż istniejąca, z pominięciem kosztu przełączenia[3]
DEBUG:
- chwilowe zmiany routingu per badane IP
- dane wczytane z konfiguracji
- parametry wywołania funkcji
- punktacja dla interfejsu z rozbiciem na składowe
- parametry wywołania skryptów pomocniczych
Domyślny loglevel to oczywiście INFO. Jeśli wszystko pójdzie OK,to zmiany pojawią się w repo dziś wieczorem – niestety czas goni, a dwa wpisy w tygodniu muszą być…
[1] Wybiegam w sekcję ogólną konfiguracji, która dopiero powstanie, o skryptach pomocniczych planuję napisać w kolejnym wpisie.
[2] Jeśli będzie często występowało, to warto je usunąć, żeby nie zaburzało wyników.
[3] W celu poinformowania użytkownika, że być może warto zmienić przy okazji konfigurację sieci.