Każdy dzień w życiu developera to jakiś mniejszy bądź większy fuckup. Każdego dnia coś trzeba sprawdzić i ustalić. Dziś zmagałam się z nielogującymi się informacjami, które wcześniej logowały się poprawnie.
Powód okazał się bardziej banalny, niż mogłoby się wydawać. Jakiś czas temu wgrywałam patch bezpieczeństwa SUPEE-10415. dokonał on zmiany w metodzie Mage::log()
, zmieniając linię
$file = empty($file) ? 'system.log' : $file;
na:
$file = empty($file) ? 'system.log' : basename($file);
W efekcie pliki nie zapisywały się w wyznaczonej lokalizacji a w głównym katalogu var/log
Problem został zaobserwowany, ponieważ pliki z wyznaczonej lokalizacji wczytywane były do grida w panelu administracyjnym i nagle przestały być dostępne.
Zatem jeśli nie możesz zalogować pliku do określonej lokalizacji wystarczy pozbyć się funkcji basename() nadpisując metodę Mage::log()
.
Prawdą jest, że użycie funkcji basename() jest poprawką bezpieczeństwa, jednak jeśli bardzo zależy Ci by logi mimo wszystko znajdowały się w różnych katalogach z uwagi na ich ilość lub inne powody, to powyższa sugestia najszybciej rozwiąże ten problem.