Monolog: nasze zmiany w projekcie open source
Najpopularniejsza biblioteka logów w PHP, używana między innymi przez Symfony i Laravela.
- Język
- PHP
- Gwiazdki na GitHubie
- 21 399
- Strona projektu
- seldaek.github.io/monolog
Zmiana przyjęta w Monolog
RedactingFormatter ukrywa też sekrety zagnieżdżone w tablicach pod kluczami oznaczonymi jako wrażliwe.
- Pull request #2067scalony 9 września 2026
Jak to sprawdziliśmy
Nowy test przepuszcza rekord przez PsrLogMessageProcessor, a potem przez RedactingFormatter, i sprawdza, że sekret zagnieżdżony w tablicy nie występuje w wyniku, a w jego miejscu jest [REDACTED].
Błąd, poprawka i wniosek
Skrót naszego opisu z Nowinek technicznych: co nie działało, co zmieniliśmy i co z tego wynika dla naszej pracy.
Hasło z tablicy trafiało do logu
RedactingFormatter zbierał do ukrycia tylko teksty. Gdy pod kluczem password leżała tablica, procesor wstawiał ją do treści komunikatu, a hasło zostawało w niej otwartym tekstem.
Sekrety zbierane na każdej głębokości
Nowa metoda collectSensitiveValue() przechodzi po wartości spod wrażliwego klucza i zbiera każdy tekst, z tym samym limitem głębokości MAX_DEPTH.
Ukrywanie sekretów w logach musi schodzić w głąb struktur danych.
Klucz oznaczony jako wrażliwy jest wrażliwy także wtedy, gdy jego wartością jest tablica.
Inne projekty z naszymi zmianami: PHP
20 projektów w tej technologii ma nasze przyjęte zmiany. Pasek to gwiazdki repozytorium, obok liczba naszych zmian. Każdy wiersz prowadzi do strony projektu.
Pytania o nasze zmiany w Monolog
Skąd są te zmiany, kto je przyjął i czy poprawimy coś w Twojej bibliotece.
Czytaj dalej
Więcej o tej pracy i o pozostałych projektach z naszymi zmianami.
Używasz Monolog w swoim projekcie?
Jeśli coś w nim nie działa, poprawimy to u źródła i zostawimy obejście do czasu wydania. Odpiszemy w godzinę.