martes, 14 de enero de 2014

Elegante forma de implementar un log en python


Este seria un modo de implementar un sistema de log sin necesidad de estar implementando en cada función que agreguemos, me parece que es una manera elegante de hacerlo en python (2.7)


1:  def hacerlog(func):  
2:    def logadora(*args,**kwargs):  
3:      res=func(*args,**kwargs)  
4:      print(strftime('%H%M%S.%m'),args,kwargs,'->',res)  
5:      return res  
6:    return logadora  
7:    
8:  @hacerlog  
9:  def duplicar(n):  
10:    return n*2  
11:    
12:  y=duplicar(21)  
13:  print y  

No esta muy difícil de entender.
El resultado seria algo asi

# python demolog.py

('193201.01', (21,), {}, '->', 42)
42

No hay comentarios.:

Publicar un comentario