He escrito un montón de scripts a lo largo del tiempo y estoy en el proceso de refinar los scripts para mantener el código DRY. Actualmente estoy usando algo en este sentido en los diferentes guiones:Python: forma correcta de iniciar sesión en el mismo archivo desde diferentes módulos
if __name__ == '__main__':
logger = logging.getLogger('dbinit')
hdlr = logging.FileHandler('/var/logs/tmp/foo.log')
formatter = logging.Formatter('%(asctime)s %(levelname)s %(message)s')
hdlr.setFormatter(formatter)
logger.addHandler(hdlr)
logger.setLevel(logging.WARNING)
En lugar de repetir esto en cada guión (es decir, "módulo"), me gustaría tener esta inicialización registrador de hecho uno en alguna parte y se accede por los diversos secuencias de comandos (Hmm, tal vez envolver en una clase singleton?).
Si no puedo hacer eso (es decir, poner el código de inicialización del registrador en un módulo del núcleo), supongo que al utilizar el mismo nombre de archivo de registro en el logging.FileHandler() llamada, los diversos guiones escribirán al mismo archivo.
¿Es correcta esta suposición?
Por último, pero no menos importante, ¿cuál es la mejor forma de práctica (es decir, pitonica) para resolver este problema?
relacionados: [cuestiones de registro de Python desde múltiples módulos] (http://stackoverflow.com/questions/7341538/) –
Relacionado: [Python: módulo de registro - globalmente] (http://stackoverflow.com/questions/7621897/) –