2012-03-19 15 views
5

/var/www/mysite/php_errors içinde aynı hatayı bir yerel hata günlüğüne göndermenin yanı sıra, aynı hatayı/var/log/php_errors dosyasında da global bir php hata günlüğüne göndermek mümkün mü?Php hatalarını birden çok dosyaya kaydeder misiniz?

Hazırlama sunucumuzda, günlük dosyasını kuyruğa alıyorum ve birçok büyük çirkin print_r'ın yanı sıra diğer geliştiricilerden de çok sayıda wordpress özelliği var. Ben zaman zaman bir sunucu kırma bir şey olup olmadığını görmek için bir genel hata dosyası istiyorum, yanı sıra yerel hatalarımı ayırmak böylece sadece bir site ile ilgileniyorsanız onları daha iyi takip edebilirsiniz böylece .

+0

Bu, "error_log = log1; log2" işlevi de çalışmıyor. – Pacerier

cevap

1

Bildiğim kadarıyla değil. Ancak, error_prepend_string ini ayarını kullanabilir ve hata günlüklerinin tümünü bir şeyle başlatabilirsiniz. Ve sonra ne zaman kuyruk sizin günlük dosyaları (bunun için oldukça benzersiz bir şey seçerken.) Eğer set ne olursa olsun grep edebilir ve size o siteden yalnızca iletileri gösterecektir

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

+0

Bunu bir .htaccess dosyasında ayarlayabilir miyiz? Bu muhtemelen en basit çözümdür. Grep-pipe-fu'mda fırça yapmam gerek. – yellottyellott

+0

'error_prepend_string, hata görüntüleme çıktısı için çalışıyor, ancak günlüğe kaydetme için çalışmıyor. – majick

1

Eğer bir kütüphane kullanırsanız Örneğin, log4php gibi, birden çok dosyaya yazma, e-posta gönderme vb. gibi çeşitli günlük kayıt seçeneklerini log türüne göre yapılandırabilirsiniz.

3

set_error_handler kullanın ve istediğiniz kadar günlük kaydıyla özel bir hata işlevi kullanın.

+0

"Aşağıdaki hata türleri, kullanıcı tanımlı bir işlevle işlenemiyor: E_ERROR, ..." İyi fikir, ancak çok fazla ölümcül hataya neden oluyor. – yellottyellott

+0

"register_shutdown_function" işlevini (http://php.net/manual/en/function.register-shutdown-function.php) kullanabilmeniz için 'set_custom_handler' işlevini kullanmanız mantıklı olacaktır (http://php.net /manual/en/function.set-exception-handler.php) herhangi bir yakalanmamış istisnalar için de – Ing

+0

Burada @Ing önerileri yapan bir sınıf var: https://stackoverflow.com/a/30637618/5240159 – majick

İlgili konular