J'ai installé php5 comme cgi appelé par Apache. Les erreurs et alertes
php sont bien enregistrées dans un fichier log kivabien du
répertoire ../apache/logs, mais elles ne suivent pas le format
classique [date] [type] [client] description. Seule la description est
présente.
Où est que l'on peut configurer le format des messages d'erreurs de
php présents dans la log ?
Config :
Apache 1.3.27
Php 5.2.1
appel de php configuré dans un virtual host d'Apache via :
ErrorLog .../apache/logs/..._error_log
CustomLog .../local/apache/logs/..._access_log common
AddHandler php5-cgi .php
Action php5-cgi .../php.cgi
Merci et à +
--
P'tit Marcel
stats sur des forums modérés http://www.centrale-lyon.org/ng/
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
P'tit Marcel
Où est que l'on peut configurer le format des messages d'erreurs de php présents dans la log ?
Bon, je vais encore me répondre à moi-même, cela va finir par être une habitude...
Il me semble que le comportement de php est décrit dans le source de main.c (voir plus bas).
Autrement dit, le comportement de php varierait selon le paramètre error_log du php.ini : - si pas de paramètre error_log, alors message envoyé tout seul dans la log Apache (et apparemment Apache n'ajoute pas de lui-même le timestamp) - si error_log=file, alors un timestamp entre crochets est ajouté en début de ligne
Je reprécise donc la question : - comment faire pour qu'Apache ajoute un timestamp sur chaque erreur php présente dans son fichier d'erreur ? - sinon, la seule solution est-elle de gérer un fichier d'erreur spécifique à php via la directive error_log ?
/* Try to use the specified logging location. */ if (PG(error_log) != NULL) { #ifdef HAVE_SYSLOG_H if (!strcmp(PG(error_log), "syslog")) { php_syslog(LOG_NOTICE, "%.500s", log_message); return; } #endif log_file = VCWD_FOPEN(PG(error_log), "ab"); if (log_file != NULL) { time(&error_time); strftime(error_time_str, sizeof(error_time_str), "%d-%b-%Y %H:%M:%S", php_localtime_r(&error_time, &tmbuf)); fprintf(log_file, "[%s] ", error_time_str); fprintf(log_file, "%s", log_message); fprintf(log_file, "%s", PHP_EOL); fclose(log_file); return; } }
/* Otherwise fall back to the default logging location, if we have one */
if (sapi_module.log_message) { sapi_module.log_message(log_message); } } ////////////////////
-- P'tit Marcel pourquoi personne y répond à ma question :'(
Où est que l'on peut configurer le format des messages d'erreurs de
php présents dans la log ?
Bon, je vais encore me répondre à moi-même, cela va finir par être une
habitude...
Il me semble que le comportement de php est décrit dans le source de
main.c (voir plus bas).
Autrement dit, le comportement de php varierait selon le paramètre
error_log du php.ini :
- si pas de paramètre error_log, alors message envoyé tout seul dans la
log Apache (et apparemment Apache n'ajoute pas de lui-même le timestamp)
- si error_log=file, alors un timestamp entre crochets est ajouté en
début de ligne
Je reprécise donc la question :
- comment faire pour qu'Apache ajoute un timestamp sur chaque erreur php
présente dans son fichier d'erreur ?
- sinon, la seule solution est-elle de gérer un fichier d'erreur
spécifique à php via la directive error_log ?
Où est que l'on peut configurer le format des messages d'erreurs de php présents dans la log ?
Bon, je vais encore me répondre à moi-même, cela va finir par être une habitude...
Il me semble que le comportement de php est décrit dans le source de main.c (voir plus bas).
Autrement dit, le comportement de php varierait selon le paramètre error_log du php.ini : - si pas de paramètre error_log, alors message envoyé tout seul dans la log Apache (et apparemment Apache n'ajoute pas de lui-même le timestamp) - si error_log=file, alors un timestamp entre crochets est ajouté en début de ligne
Je reprécise donc la question : - comment faire pour qu'Apache ajoute un timestamp sur chaque erreur php présente dans son fichier d'erreur ? - sinon, la seule solution est-elle de gérer un fichier d'erreur spécifique à php via la directive error_log ?