FAQ |
Kalender |
![]() |
#1 | ||
|
|||
Medlem
|
Jag råkade ut för att ett script gick fel ganska lång tid vilket medförde att vi missat en del intäkter. Eftersm det var ett M2M-gränssnitt så blev vi inte varse felet utan intäkterna minskade bara. Finns det något sätt i apache att göra så att man kan filtrera felen via en php-fil eller liknadne innan loggarna skrivs? Det finns ju mängder av loggar när man har olika domäner och att skapa ett fileter per domän är inte görligt, inte heller att köra samma loggfiler på samma domän.
Eller kan man få enbart php-genererade fel att skrivas separat? Nu hamnar ju också alla php-fel i domänens loggfil. Idealt vore ju att få alla php-scriptfel att loggas centralt med angivande av sökvägen och scriptnamnet. |
||
![]() |
![]() |
![]() |
#2 | |||
|
||||
Har WN som tidsfördriv
|
Kod:
<?php define('ERR_LOGFILE', 'phpfellog.log'); $oeh = set_error_handler("eh"); function eh ($errno, $errstr, $errfile, $errline) { switch ($errno) { case E_USER_ERROR: $errtitle = 'USER ERROR'; break; case E_USER_WARNING: $errtitle = 'USER WARNING'; break; case E_WARNING: $errtitle = 'WARNING'; break; case E_USER_NOTICE: $errtitle = 'USER NOTICE'; break; case E_NOTICE: $errtitle = 'NOTICE'; break; case E_STRICT: $errtitle = 'RUNTIME NOTICE'; break; default: $errtitle = 'OKÄNT FEL'; break; } if (($errno != E_USER_NOTICE) && ($errno != E_NOTICE) && ($errno != E_STRICT)) { error_log(sprintf("%s\r\n%s (#%d) i %s:%d\r\n%s\r\n\r\n-------------------------------------\r\n",date("Y-m-d H:i:s"),$errtitle,$errno,$errfile,$errline,$errstr), 3, ERR_LOGFILE); } } ?> |
|||
![]() |
![]() |
![]() |
#3 | ||
|
|||
Klarade millennium-buggen
|
koala: set_error_handler() kräver att du "triggar" felen själv med trigger_error().
Det är inget som sker med automatik direkt. |
||
![]() |
![]() |
![]() |
#4 | |||
|
||||
Bara ett inlägg till!
|
Du behöver inte dunka ut loggdatan från Apache till fil utan du kan pipe:a det till ett script/program.
|
|||
![]() |
![]() |
![]() |
#5 | |||
|
||||
Bara ett inlägg till!
|
Citat:
|
|||
![]() |
![]() |
![]() |
#6 | ||
|
|||
Klarade millennium-buggen
|
Citat:
+ att det står att man kringgår php's egna felhantering. |
||
![]() |
![]() |
![]() |
#7 | ||
|
|||
Medlem
|
Citat:
|
||
![]() |
![]() |
![]() |
#8 | |||
|
||||
Bara ett inlägg till!
|
Jag förstår inte.
|
|||
![]() |
![]() |
![]() |
#9 | ||
|
|||
Klarade millennium-buggen
|
Citat:
Definiera bara error_log i httpd.conf istället så samlas alla fel där i. Sedan är det bara att skriva en parser som plockar ut dom fel du vill ha. |
||
![]() |
![]() |
![]() |
#10 | ||
|
|||
Mycket flitig postare
|
Citat:
|
||
![]() |
![]() |
Svara |
|
|