basic idea
Musiałem przede wszystkim przemyśleć co chcemy w co opakowywać, kiedy i po co.
Ogólnie zamysł mam taki:
Mamy jedną fabrykę, bierzemy z niej loggera i logger ma implementować interfejs loggera i ma działać choćby nie wiem co czyli:
-
jak nic nie ma ;) to ma logować tam gdzie chcemy i jak chcemy. Czyli do naszego pliku + ma brać pod uwagę ustawienia debug które dostanie na dzieńdobry (czyli nasze wpdesk debug).
-
jak jest goły wordpress, to ma logować tak jak 0. + ma dodatkowo tak jak wordpress jest ustawiony(wp_debug).
-
jak jest WC, to ma logować tak jak 1. + ma dodatkowo logować tak jak sobie chce WC.
2b. jak jest WC i próbujesz logować do wc_logger to ma logować i tak do nas, ale zgodnie z punktem 2 - czyli być przeźroczysty dla usera, ale robić tak samo jakbyś użył naszej fabryki, pod warunkiem że wcześniej została jakoś zainicjalizowana.
- Do tego ma się dać dopisywać łatwo formattery(styl logowania), procesory(wstrzykiwanie danych np. ip do każdego wpisu), handlery(sposoby zapisu np. do emaila) i filtry jak tylko mamy taki kaprys.
Całość opiera się na bibliotece monologa, będę dalej rozbudowywał. W zasadzie muszę głównie dopisać wsparcie dla naszego loga i loga WP, czyli 2 handle bo WC już się rusza.