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...
En partique, remplace stderr par stdout dans la fonction eout.
--
Frédéric