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

MATLAB Discussion :

Création d'un journal d'erreurs


Sujet :

MATLAB

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2009
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2009
    Messages : 46
    Points : 23
    Points
    23
    Par défaut Création d'un journal d'erreurs
    Bonjour,

    Je suis actuellement en train d'écrire un code où j'affiche différents warnings dans la commande windows. Je souhaite créer un fichier texte répertoriant les différents warnings qui ont eu lieux lors de l'exécution de mon code. Mon idée était de crée une structure pour regrouper les différents warnings, puis de les exporter dans un fichier texte. Malheureusement je n'ai pas trouvé la manière de l'effectuer. Ma structure est la suivante:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    JOURNAL=struct('Warning_number',{},'Description_of_warning',{},'Time_and_Date',{});
    Quelqu'un aurait une idée afin que je puisse inscrire cette structure dans un fichier texte ?

    Merci d'avance pour vos réponses

  2. #2
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 304
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 304
    Points : 52 884
    Points
    52 884
    Par défaut
    Tu peux peut être utiliser la fonction DIARY

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2009
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2009
    Messages : 46
    Points : 23
    Points
    23
    Par défaut
    Merci beaucoup Dut pour ta réponse.

    J'ai essayé cette fonction, mais le problème est qu'à partir du moment que tu mets diary on, il enregistre tout. Je ne voit donc pas comment inscrire simplement une ligne de texte dans le fichier crée.

    En faisant ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    diary('essai');
    warning('one image has been converted into grayscale');
    diary off;
    J'obtiens ceci dans le fichier essai
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Warning: one image has been converted into grayscale
    > In <a href="matlab: opentoline('C:\Documents and Settings\...)">essai at 3</a>
    La deuxième ligne étant l'inscription dans le fichier de ce qui apparaît dans la Command window

    J'ai essayé de mettre les warning off, mais évidemment le fichier est vide.

    Je ne vois donc pas comment inscrire seulement une phrase avec date et heure etc...

  4. #4
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 304
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 304
    Points : 52 884
    Points
    52 884
    Par défaut
    Citation Envoyé par sjunod Voir le message
    J'obtiens ceci dans le fichier essai
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Warning: one image has been converted into grayscale
    > In <a href="matlab: opentoline('C:\Documents and Settings\...)">essai at 3</a>
    Et tu voudrais obtenir quoi dans ce cas précis ?

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2009
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2009
    Messages : 46
    Points : 23
    Points
    23
    Par défaut
    Mon but est d'obtenir après utilisation du programme un fichier texte répertoriant tout les événements, disons "insolites" (dans ce cas une conversion en niveau de gris) sous la forme d'un fichier texte

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     Date et heure        Événement
     05.03.09 16:00       Image X convertie
     05.03.09 16:30       Image Y redimensionnée
    Ces événements ne sont pas en soit des erreurs, mais il faut que l'utilisateur soit au courant de ces indications. C'est pourquoi j'avais l'idée de crée une structure dans laquelle je pourrais rajouter les différents événements (définis) tout au long de l'utilisation du programme. Mon but était d'extraire ensuite les informations contenues dans cette structure et de les inscrire dans un fichier texte lorsque l'utilisateur ferme le programme. J'aimerai donc avoir simplement un fichier texte avec les différents événements inscrits sans avoir des phrases parasites.

  6. #6
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 304
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 304
    Points : 52 884
    Points
    52 884
    Par défaut
    Citation Envoyé par sjunod Voir le message
    Ces événements ne sont pas en soit des erreurs,
    Ce ne sont donc pas des événements issus des fonctions ERROR ou WARNING.

    Tu devrais donc créer une fonction APPENDLOG comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    function appendlog(t,str)
     
    fid = fopen('data.log','at');
       fprintf(fid,'%s %s\n',datestr(t),str);
    fclose(fid);
    Et tu appelles cette fonction avant chaque action dans ton code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    appendlog(now,'Image X convertie');
    En changeant le nom de l'événement bien entendu

    Non ?

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2009
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2009
    Messages : 46
    Points : 23
    Points
    23
    Par défaut
    Excellent !!

    Les fonction fopen et fprintf sont exactement ce que je cherchais. Désolé pour mon appellation des "warnings". Merci beaucoup Dut

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 12/08/2007, 09h21
  2. Création d'une macro mais erreur
    Par guismoman33 dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 04/06/2007, 18h14
  3. Journal d'erreur: eventlog
    Par eseb777 dans le forum VC++ .NET
    Réponses: 3
    Dernier message: 15/02/2007, 11h55
  4. [VBA-E] Plantage à la fermeture du classeur - création d'un journal d'erreur
    Par sebbyoguard dans le forum Macros et VBA Excel
    Réponses: 16
    Dernier message: 07/09/2006, 14h05
  5. Réponses: 4
    Dernier message: 24/08/2006, 10h19

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