IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Perl Discussion :

Redirection erreur Perl


Sujet :

Langage Perl

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de Matmal11
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    111
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 111
    Par défaut Redirection erreur Perl
    Bonjour,

    J'apelle un script perl depuis un shell Unix en redirigeant la sortie standart et erreur vers un fichier.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    perl mon_script.pl > fichier.log 2>&1
    J'ai besoin de la sortie ERREUR parce j'utilise la module Log::Log4perl pour créer un descripteur sur cette sortie.

    Le problème est que au cours du script, je fais des tests et si l'un d'entre eux ne marche pas, je fais un "Die" du script.
    Je voudrais que dans mon fichier de log ne s'écrive pas la ligne de Perl me disant :
    Died at /mon_script.pl line 10, <> line 10
    Savez-vous comment ne pas afficher ce message?


    Une idée que j'ai eue a été de créer un fichier de log temporaire pour écrire les messages qui ne m'intéressent pas dans le fichier Log final.
    Depuis ce script j'exécute des commandes unix. Et pour les commandes unix, la redirection est très facile.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if (`ls /bin/usr/* 2>/tmp/temp.log`)
    {
    Conmmande;
    }
    Est-ce que je peux comme avec linux rediriger la sortie erreur de Perl vers ce fichier de log???

    Merci par avance
    MAt

  2. #2
    Expert confirmé
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Par défaut
    Si tu utilise Log::Log4Perl, normalement tu devrais pouvoir facilement le configurer pour qu'il écrive dans un fichier de log plutôt que sur STDERR comme les die() et les warn().

    --
    Jedaï

  3. #3
    Membre confirmé Avatar de Matmal11
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    111
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 111
    Par défaut
    En fait je viens de trouver une astuce.
    Si j'écris:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if ( condition )
    {
    die "OUT OF LIMIT";
    }
    J'écris le message que je veux dans mon log (OUT OF LIMIT dans cet exemple).
    Je voulais juste enlever le message générique de PERL.

    Merci

    Mat

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Erreur Perl @INC
    Par tipsyme dans le forum Langage
    Réponses: 2
    Dernier message: 01/06/2007, 17h18
  2. message d'erreur perl
    Par med-tech dans le forum Langage
    Réponses: 11
    Dernier message: 27/05/2007, 13h47
  3. Redirection erreur 404 => récupérer url demandée
    Par Le_PounK dans le forum Servlets/JSP
    Réponses: 4
    Dernier message: 21/03/2007, 16h32
  4. Erreur perl Can't use string ,
    Par vodevil dans le forum Langage
    Réponses: 5
    Dernier message: 01/04/2006, 19h46

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo