[Python] Python logging

Manlio Perillo manlio_perillo a libero.it
Lun 3 Dic 2007 11:46:35 CET


Daniele Varrazzo ha scritto:
> Giovanni Porcari ha scritto:
> 
>> Mah... in effetti ne abbiamo parlato pochi minuti ma dalle sue parole  
>> avevo
>> inteso che fosse una cosa drammatica e notoria. Forse ho frainteso io.
>> Mi diceva in buona sostanza che logging non è thread safe e che potrebbe
>> dare grossi problemi.
> 
> Non ho mai sentito niente del genere. Il modulo logging non ha bug aperti. 
> Vedi se ti dà indicazioni maggiori. Lo sai che il nostro Splendido Presidente 
> a volte è un po' duro nei suoi giudizi :)
> 
> Per quanto ne so io, il modulo è sicuro. Nella parte di sorgenti che ho letto, 
> mi sembra che le zone critiche siano protette da lock. Non l'ho sottoposto a 
> chissà che analisi, ma logging è un modulo molto usato da tantissime persone, 
> tanto che di logger alternativi non ne è spuntato quasi nessuno. Direi che, se 
> non altro, ad essere thread-safe ci prova :)
> 

Tempo fa Michele Simionato aveva postato (non su questa mailing list) 
questo script:

import logging
import threading

class C(object):
     def __init__(self):
         print threading.currentThread()

     def __del__(self):
         print threading.currentThread()
         logging.warn('deleted %r' % self)

if __name__ == '__main__':
     c = C()



> $python logbug.py
> <_MainThread(MainThread, started)>
> <_DummyThread(Dummy-1, started daemon)>
> Exception exceptions.AttributeError: "'NoneType' object has no attribute 'warn'" in <bound method C.__del__ of <__main__.C object at 0xb7da310c>> ignored



 > [...]



Manlio Perillo


More information about the Python mailing list