| Forum / Macintosh / log > growl - mam zachcianke. |
| Autor | Wiadomość |
| Paweł Chalacis
|
Posted: 6 Cze 2006 20:29:18 a wiec. wymyslilem sobie taki ficzer: - otwieram strone na localhoscie i gdy php wrzuca mi jakies bledy, to pojawiaja sie one przez growl a nie w oknie przegladarki. i teraz tak: - php zamiast wyswietlac bledy, loguje je do pliku (to proste) - loga moge wyswietlic sobie albo przez Console.app, albo przez "tail -f /var/log/php" (to tez proste) - z terminala moge wyswietlic sobie powiadomienie growl przez "growlnotify -n PHP -m test -t ERROR" (to takze proste) i za cholere nie wiem jak to polaczyc, ani jak sie za to zabrac. probowalem cos w rodzaju: tail -f /var/log/php | growlnotify -n PHP ERROR -m ale nic z tych rzeczy nie dziala... mysle wiec co by napisac jakiegos programa prostego (w bashu, c, whatever), tylko tez nie wiem jak sie zabrac. jakie macie pomysly na cos takiego? (o ile w ogole...) |
| Konrad Kosmowski
|
Posted: 6 Cze 2006 21:48:34 a wiec.
wymyslilem sobie taki ficzer: - otwieram strone na localhoscie i gdy php wrzuca mi jakies bledy, to pojawiaja sie one przez growl a nie w oknie przegladarki. i teraz tak:
- php zamiast wyswietlac bledy, loguje je do pliku (to proste) - loga moge wyswietlic sobie albo przez Console.app, albo przez "tail -f /var/log/php" (to tez proste) - z terminala moge wyswietlic sobie powiadomienie growl przez "growlnotify -n PHP -m test -t ERROR" (to takze proste) i za cholere nie wiem jak to polaczyc, ani jak sie za to zabrac.
probowalem cos w rodzaju:
tail -f /var/log/php | growlnotify -n PHP ERROR -m ale nic z tych rzeczy nie dziala...
mysle wiec co by napisac jakiegos programa prostego (w bashu, c,
whatever), tylko tez nie wiem jak sie zabrac. jakie macie pomysly na cos takiego? (o ile w ogole...)
Apache (PHP) pisze do pliku-kolejki (mkfifo(1)) sklejka w dowolnym języku czyta z kolejki i wywołuje growl na odpowiedniej linijce. Tak na szybko, pewnie da się zrobić rozsądniej - aby sam proces serwera komunikował się z growl bez żadnej sklejki pomiędzy - operacje systemowe i I/O na OSX są drogie niestety... No ale w końcu chyba nie chcesz tego stawiać na obciążonym serwerze. :) BTW co jest w tym growl takiego fajnego? |
| Paweł Chalacis
|
Posted: 6 Cze 2006 22:13:12 Tak na szybko, pewnie da się zrobić rozsądniej - aby sam proces serwera
komunikował się z growl bez żadnej sklejki pomiędzy - operacje systemowe i I/O na OSX są drogie niestety... No ale w końcu chyba nie chcesz tego stawiać na obciążonym serwerze. :) localhost na ibooku ;) najlepiej by bylo jakby byl jakis program console growl (bo growl console jest)... BTW co jest w tym growl takiego fajnego?
sposob na to by miec obsluge bledow ktora nie zaburzy wygladu strony to raz. dwa - przydatne przy ajax, gdyz tam bledy przychodza jako odpowiedz, a ta nie zawsze chce wyswietlac. wiec zamiast grzebac w kodzie - dostaje powiadomienie, ze cos spieprzylem ;) w sumie udalo mi sie odpalic cos przez set_error_handler w php, tyle, ze przyjal tez bledy E_STRICT (czyli powiadomienia o starych funkcjach php uzytych w kodzie itd itd) i testowo odpalilem stara aplikacje jedna... zajechalo mi growl, od pol godziny wyswietla powiadomienia w tempie bardziej niz wolnym i nei daje sie zrestartowac... chyba nie tedy droga :p |
| porneL
|
Posted: 7 Cze 2006 01:23:39 growlnotify < /var/log/php_error.log
to nie bedzie automatyczne :-/ Sprawdzałeś? U mnie działa idealnie. growlnotify wyświetla informacje o liniach dodanych do pliku, czyli działa identycznie jak blokująca wersja tail. |
| Paweł Chalacis
|
Posted: 7 Cze 2006 01:45:47 Sprawdzałeś? U mnie działa idealnie. growlnotify wyświetla informacje o
liniach dodanych do pliku, czyli działa identycznie jak blokująca wersja tail. w podanym przez Ciebie formacie wyswietla tylko jeden raz - caly plik (albo czesc, nie wiem). innego formatu (parametry itd) nie znalazlem dzialajacego. natomiast doszlifowalem sobie na swoje potrzeby error_handler wiec pewnie tak pozostanie... |
| porneL
|
Posted: 7 Cze 2006 08:06:11 w podanym przez Ciebie formacie wyswietla tylko jeden raz - caly plik
(albo czesc, nie wiem). innego formatu (parametry itd) nie znalazlem dzialajacego. Ups, faktycznie. on po prostu tak długo czytał log i z opóźnieniem wyświetlił wiadomość, przypadkiem w tym samym momencie co dodałem do logu linijkę :) natomiast doszlifowalem sobie na swoje potrzeby error_handler wiec
pewnie tak pozostanie... Growl ma jeszcze możliwość nasłuchiwania przez port TCP/IP : Gdyby się dało to wykorzystać z PHP, to można by wyświetlać tak informacje nawet z zewnętrznego serwera :D |
| porneL
|
Posted: 7 Cze 2006 08:10:08 Growl ma jeszcze możliwość nasłuchiwania przez port TCP/IP :
Gdyby się dało to wykorzystać z PHP, to można by wyświetlać tak informacje nawet z zewnętrznego serwera :D O, jest: http://the.taoofmac.com/space/Projects/netgrowl.php |
| Paweł Chalacis
|
Posted: 7 Cze 2006 22:00:31 O, jest:
http://the.taoofmac.com/space/Projects/netgrowl.php tyle, ze to dalej mmozna wykorzystac tylko przez error_handler, a mi najbardziej by pasowalo cos na zasadzie: tail -f /var/log/php_error.log | growlnotify... tudziez Console.app growl |
| Konrad Kosmowski
|
Posted: 8 Cze 2006 08:58:11 O, jest:
http://the.taoofmac.com/space/Projects/netgrowl.php tyle, ze to dalej mmozna wykorzystac tylko przez error_handler, a mi
najbardziej by pasowalo cos na zasadzie: tail -f /var/log/php_error.log | growlnotify... A co error_handler nie potrafi pisać do pliku czy jak? |
| porneL
|
Posted: 8 Cze 2006 14:17:07 O, jest:
http://the.taoofmac.com/space/Projects/netgrowl.php tyle, ze to dalej mmozna wykorzystac tylko przez error_handler, a mi
najbardziej by pasowalo cos na zasadzie: tail -f /var/log/php_error.log | growlnotify... A co error_handler nie potrafi pisać do pliku czy jak? error_handler nie jest uruchamiany przy fatal errorach. W PHP6 to jest częściowo poprawione, ale i tak jest pare przypadków. Ja stosuję na to paskudne obejście - otóż handler od output bufferingu *jest* odpalany nawet po fatal error, tylko trzeba wycinać error samemu :/ A tak poza tym to własny handler rządzi dzięki piątemu parametrowi z kontekstem wykonania oraz debug_backtrace()... ale to chyba NTG :) FUT. |
|
Czas ładowania strony (sek.): 0.379 users miniBB.net © 2001-2010 | Polityka Prywatności e-giełdy + opisy gg + kumy fubi ° oko na maroko ° nimda °
|