Wpis z mikrobloga

Siema pehapowe świry. Dzisiaj chciałbym przedstawić wam kolejny odcinek - problemy niespotykane w zwyczajnych projektach ;D

Tytułem wstępu, mam projekt w #php, który nie korzysta z żadnego frameworka. Napisałem taki własny "framework" na komponentach symfony. W sumie mam tylko router i front controller.
Do rzeczy - mam sobie taką klasę, która korzysta z #monolog do logowania błędów. Klasa posiada jedną statyczną metodę, która wczytuje z pliku yml konfigurację monologa i zwraca obiekt Monolog/Logger i już później wywołuję sobie tam metody do logowania błędów w pliku (streamhandler).
No i teraz chciałbym podłączyć ELK do przeglądania błędów w Kibana. Ot na produkcji błędy mają wpadać do ELK i wyświetlać się w Kibanie, ale też zapisywać się w pliku (przydatne na dev/beta/pre). No i okazuje się, że integracja z ELK, to nie jest takie hop siup. Znalazłem poradnik https://pehapkari.cz/blog/2017/10/22/connecting-monolog-with-ELK/ że muszę użyć Gelfa do wysyłania błędów do ELK. No to otwieram stronę na githubie i… jest problem. Konfiguracja jest przedstawiona dla symfony (rejestracja serwisów), następnie zarejestrowane serwisy są przesyłane do konfiguracji monologa.
No i tutaj jest kłopot. Moja klasa loggera jest poza "frameworkiem", więc nie mogę sobie zarejestrować serwisów i użyć ich w tej klasie (w końcu wywołuję metodę z niej w statyczny sposób), no a zmienić klasę niespecjalnie mogę, bo jest masa legacy kocu, który korzysta z aktualnej klasy do logowania błędów.

No i powstaje pytanie - w jaki sposób to ogarnąć? Stworzyć w loggerze kontener, gdzie będą zarejestrowane niezbędne serwisy (framework we frameworku) i to jakoś skonfigurować?
Ktoś ma jakiś pomysł z jakiej strony to ugryźć?
  • 3