bloqueo de ficheros...
Pepe Aracil
pepe en diselpro.com
Vie Oct 29 10:45:45 CEST 2004
Gracias.
Que canya.. !!! con rotación de ficheros y todo XD
Esto es lo que buscaba... Prometo revisarme mejor los módulos estándar antes
de preguntar ;)
Saludos.
El Viernes, 29 de Octubre de 2004 07:43, Pedro A. Carrasco Ponce escribió:
> Pepe Aracil wrote:
> > Hola.
> >
> > Estoy acabando una aplicación para recepción de alarmas por teléfono en
> > python. Lanzo un proceso por cada linea (puerto serie) que tengo que
> > atender.
> >
> > Mi problema es que no sé como volcar los logs que genera cada proceso en
> > un mismo fichero. No puedo utilizar el módulo syslog, porque tiene que
> > poder funcionar en win32.
>
> Yo utilizo el módulo logger, te posteo la clase que utilizo log:
> ------------------------ Fichero CLog ----------------------------
> # -*- coding: ISO-8859-1 -*-
> import logging
>
> class __Log:
> def __init__(self):
> """Crea el logger para poder guardar los mensajes de loggin"""
> self.__logger = logging.getLogger('NombreUnico')
> hdlr = logging.FileHandler('Ficherode Log.log')
> formatter = logging.Formatter('%(asctime)s %(levelname)s %(message)s')
> hdlr.setFormatter(formatter)
> self.__logger.addHandler(hdlr)
> self.__logger.setLevel(logging.DEBUG)
>
> def info(self,cadena):
> self.__logger.info(cadena)
>
> def error(self,cadena):
> self.__logger.error(cadena)
>
> def critical(self,cadena):
> self.__logger.critical(cadena)
>
> def warning(self,cadena):
> self.__logger.warning(cadena)
>
> def debug(self,cadena):
> self.__logger.debug(cadena)
>
> def exception(self,cadena):
> self.__logger.exception(cadena)
>
> __instance = None
>
> def getLogger():
> global __instance
> if __instance is None:
> __instance = __Log()
> return __instance
> --------------------------------- FIN ----------------------------
> Utilizo un patrón de diseño Singleton, lo que asegura que hay una
> instancia sólo para toda la aplicación. Sólo tienes que hacer:
>
> import CLog
>
> log = CLog.getLogger()
> log.info('Cadena')
> log.warning('Prueba')
> ....
>
> En la página de la ayuda del módulo logger tienes más información.
>
> Un saludo.
Más información sobre la lista de distribución Python-es