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

Python Discussion :

comment loguer tous ce qui ce fait ?


Sujet :

Python

  1. #1
    Nouveau membre du Club
    comment loguer tous ce qui ce fait ?
    Hello

    Comment loguer dans un fichier tout ce qui ce fait, de manière a ce que si le prog plante le fichier soie quand même présent ?

    sous linux il y a screen -L qui permet de tout loguer seulement c'est pas forcement installer sur la machine, je pourrait contraindre son utilisation mai si je peux éviter.

    il s'agis de loguer une compilation du noyaux lancer avec ceci:

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    #!/usr/bin/env python
    # -*- coding:Utf-8 -*-
    import os
    def make(sourcetar,nice,version,module):
        os.chdir(sourcetar) 
        send="nice -n " + str(nice) +" make-kpkg --config xconfig --us --uc --append-to-version " + version +" --initrd buildpackage --added-modules="+ module +" kernel-image modules-image"
        print send
        os.system(send)


    Merci d'avance

  2. #2
    Membre éclairé
    une simple ecriture dans un fichier, des info que tu veux voir ecrit aprés chaque fin de séquences de ton programme doit suffir.

    j'met pas le code, c'est basic !

  3. #3
    Nouveau membre du Club
    euh non c'est pas aussi simple

    make renvoie(affiche) pas loin de 20'000 ligne et donc je sais pas comment les ré-cuperer, et je doute que sa tienne dans une variable ?

  4. #4
    Membre éclairé
    regarde du coté des options de make, il doit bien y avoir une option pour créer un log....
    ensuite, moi perso je préfère logguer les erreurs et non toutes les opérations...

    dans ce cas, tu récupére la derniére ligne du log de make et tu la met dans ton log.
    c'est vrai que c'est pas si évident, j'avais pas bien compris le premier post!

    +++

  5. #5
    Nouveau membre du Club
    Citation Envoyé par airod Voir le message
    regarde du coté des options de make, il doit bien y avoir une option pour créer un log....
    ensuite, moi perso je préfère logguer les erreurs et non toutes les opérations...

    dans ce cas, tu récupére la derniére ligne du log de make et tu la met dans ton log.
    non c'est pas possible car il compile aussi les module et si quelque chose coince ben sa ne sera pas forcement marquer!

  6. #6
    Membre extrêmement actif

  7. #7

  8. #8
    Nouveau membre du Club
    bon j'ai tout tester rien ne marche:

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    def copytree(src, dst, symlinks=0):
        names = os.listdir(src)
        #os.mkdir(dst)
        for name in names:
            srcname = os.path.join(src, name)
            dstname = os.path.join(dst, name)
            try:
                if symlinks and os.path.islink(srcname):
                    linkto = os.readlink(srcname)
                    os.symlink(linkto, dstname)
                elif os.path.isdir(srcname):
                    shutil.copytree(srcname, dstname, symlinks)
                else:
                    shutil.copy2(srcname, dstname)
            except (IOError, os.error), why:
                print "Can't copy %s to %s: %s" % (`srcname`, `dstname`, str(why))


    et également simplement avec:
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
     
    shutil.copytree(source,cible)


    j'utilise python 2.5

    le résulta est que ça me rempli la partition a l'infini et sa fini par planter car la partition est pleine.

    il est claire que python ne sais pas copier un répertoire ....
    je vai devoir passer par os.system() dommage

    et comme personne ne croit ce que je dit voila ce que sa donne en image :\

    http://img231.imageshack.us/my.php?i...pture52vy2.jpg

    http://img363.imageshack.us/my.php?i...pture53xt6.jpg