Re: un peu HS : probl=E8me en C

Pàgina inicial

Reply to this message
Autor: anne aublanc
Data:  
A: guilde
Assumptes nous: Re: un peu HS : probl=3DE8me en C
Assumpte: Re: un peu HS : probl=E8me en C

----- Original Message -----
From: "Frédéric Mantegazza" <mantegazza@???>
To: <guilde@???>
Sent: Wednesday, December 01, 2004 1:09 PM
Subject: Re: un peu HS : probl=E8me en C


| Le mercredi 1 Décembre 2004 13:05, anne aublanc a écrit :

|
| > Si je lance le programme en ligne de cde les messages d'erreurs
| > apparaissent...
| > Si je le lance à partir d'un autre pgm, je ne les ai pas...
| >
| > /* generic error messager - just to increase readability of the code
| > below */
| > void eout(const char *fmt, ...)
| > {
| >     va_list ap;
| >     va_start(ap, fmt);
| >     fprintf( stderr, "%s: ", program_name );
| >     vfprintf( stderr, fmt, ap);
| >     va_end(ap);
| > }
| >
| > eout( "can't read directory '%s': %s\n", job_rep, strerror(errno));
| >
| > Je les retrouve dans /var/log/httpd/error_log
| >
| > Comment les faire apparaitre dans le programme appelé...?

|
| Le programme appelant le tien doit rediriger la sortie d'erreur standard
| (stderr) vers le fichier de log. Il faut donc que tu utilises un autre
| stream. Essaye stdout, qui doit toujours être affecté à la console dans le
| programme appelant. Mais bon, c'est pas propre...

Tu peux m'en dire plus sur : c'est pas propre

Comment faire en C : toto.sh 2> erreur_log
et je relis dans l'interface web le fichier créé

|
| En partique, remplace stderr par stdout dans la fonction eout.

|
J'ai mis les 2...
effectivement, stdout permet que je récupère les messages dans l'interface
web!
et avec stderr, ils sont dans /var/log/httpd/error_log

anne