2012-03-19 15 views
5

È possibile inviare lo stesso errore a un log di errore php globale in/var/log/php_errors e inviare lo stesso errore a un log errore locale in/var/www/mysite/php_errors?Puoi registrare gli errori php in più file?

Sul nostro server di gestione temporanea, accodo il file di registro, e un sacco di roba per wordpress così come alcune grosse impronte di stampa verranno fornite da altri sviluppatori. Mi piacerebbe avere un file di errore globale per vedere se c'è qualcosa che rompe di tanto in tanto il server, così come separare i miei errori locali in modo da poterli seguire meglio se sono interessato solo a un sito al momento .

+0

Questo fa schifo, 'error_log = log1; log2' non funziona neanche. – Pacerier

risposta

1

Non che io sappia. Tuttavia, è possibile utilizzare l'impostazione ini error_prepend_string e aggiungere tutti i log degli errori con qualcosa. E poi, quando i file di log si coda si può grep su tutto ciò che impostare e vi mostrerà solo i messaggi provenienti da quel sito (fino a quando si sceglie qualcosa di abbastanza unico.)

http://www.php.net/manual/en/errorfunc.configuration.php#ini.error-prepend-string

+0

Possiamo impostarlo in un file .htaccess? Questa è probabilmente la soluzione più semplice. Devo rispolverare il mio grep-pipe-fu. – yellottyellott

+0

'error_prepend_string' funziona per l'output della visualizzazione degli errori ma non per la registrazione. – majick

1

Se si utilizza una libreria come ad esempio log4php quindi è possibile configurare una vasta gamma di opzioni di registrazione, inclusa la scrittura su più file, l'invio di e-mail, ecc. in base al tipo di registro.

3

Utilizzare set_error_handler e creare una funzione di errore personalizzata con il numero di registrazioni desiderato.

+0

"I seguenti tipi di errore non possono essere gestiti con una funzione definita dall'utente: E_ERROR, ..." Buona idea, ma causo troppi errori fatali. – yellottyellott

+0

Per quelli che puoi usare 'register_shutdown_function' (http://php.net/manual/en/function.register-shutdown-function.php), avrebbe anche senso usare' set_custom_handler' (http://php.net) /manual/en/function.set-exception-handler.php) anche per eventuali eccezioni non rilevate – Ing

+0

Esiste una classe disponibile qui che fa ciò che @Ing suggerisce: https://stackoverflow.com/a/30637618/5240159 – majick

Problemi correlati