[PERL] Ecrire dans une log en PERL

Résolu
lefreeman63 Messages postés 136 Date d'inscription   Statut Membre Dernière intervention   -  
lefreeman63 Messages postés 136 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour tous le monde,

Je suis en train de mettre en place un petit script en perl, et je cherche en faite à mettre le plus de log possible dedans.

Au début de mon script principal j'ouvre bien mon fichier de log dans lequel je viens écrire au fur et à mesure.
Sauf que dans ce script je viens appeler un script PERL extérieur qui effectue un certain nombre d'action que j'aimerai tracé dans la même log.
En shell je sais qu'il existe la commande
TEE 
qui me permet de récupérer ces infos.

Mais en PERL je ne vois pas comment récupérer les infos de ce script pour les ajoutées dans ma log.

E-ce que quelqu'un aurait une merveilleuse idée pour moi svp???

:-))

Merci d'avance.



A voir également:

1 réponse

Yakuru Messages postés 78 Date d'inscription   Statut Membre Dernière intervention   24
 
Salut,

A ta place, je ferais simplement une fonction Ecrire_Log, à laquelle tu passes les infos que tu veux (par exemple le type de log (erreur, debug, warning ..), la date et l'heure, et un message). Tu appelles cette fonction chaque fois que tu veux ecrire dans ton fichier de log.

Dans cette fonction, tu vas simplement ouvrir ton fichier de log (précédemment spécifié), et y ajouter le message.

Tu peux donc également créer une autre fonction, te permettant de préciser le fichier de log qui seras utilisé par ta Ecrire_Log. Le plus simple étant de créer une librairie contenant ces fonctions standards, et de l'importer dans tes scripts.
0
lefreeman63 Messages postés 136 Date d'inscription   Statut Membre Dernière intervention  
 
Merci pour ta réponse, effectivement c'est beaucoup plus propre en plus.
Le problème est que le sous script perl que j'appel ne m'appartient pas et il est standart si je puis dire...
donc je ne peux pas le modifier et importer cette fonction dans le sous script

:-(
0
Yakuru Messages postés 78 Date d'inscription   Statut Membre Dernière intervention   24
 
Et ton sous-script génère déjà ses propres logs, dans un autre fichier ?
0
lefreeman63 Messages postés 136 Date d'inscription   Statut Membre Dernière intervention  
 
Non il génére pas de log il fait juste des
print STERR
et en faite se sont ces print la que j'aimerai récupéré
0
Yakuru Messages postés 78 Date d'inscription   Statut Membre Dernière intervention   24
 
OK, et tu as moyen de toucher un peu à ce script ? Afin de rediriger les messages qui vont vers la sortie d'erreur standard, dans un fichier de log de ton choix.

Je ne sais pas si c'est possible sans modifier le script en lui même.
0
Yakuru Messages postés 78 Date d'inscription   Statut Membre Dernière intervention   24
 
En fait, tout bêtement, en cherchant un peu, vu que t'appelles un autre script, tu dois pouvoir utiliser cette méthode :

perl ton_script.pl 1>log.txt 2>erreur.txt

Comme ça, tu rediriges les messages sortie sur STDOUT (sortie standard) vers log.txt et les messages de STDERR (sortie d'erreur standard) vers erreur.txt. Il te suffit alors de spécifier le fichier de log que tu veux.
0