Articles of registro de

¿Mejor manera de registrar llamadas de método en Python?

Podemos codificar algún tipo de decorador de registro para hacer eco de llamadas de función / método como las siguientes: def log(fn): … @log def foo(): … class Foo(object): @log def foo(self): … @log def bar(self, a, b): … @log def foobar(self, x, y, z): … Pero, ¿qué pasa si somos similares a registrar las […]

Registro de Python: ¿Por qué se llama dos veces a __init__?

Estoy tratando de usar el registro de Python con un archivo de configuración y un controlador propio. Esto funciona hasta cierto punto. Lo que realmente me __init__ es que __init__ sea ​​llamado dos veces y __del__ se llame una vez. Cuando __init__ todo el archivo de configuración y creo el controlador directamente dentro del código, […]

Registro de Python: deshabilite el registro de módulos importados

Estoy usando el módulo de registro de Python, y me gustaría deshabilitar los mensajes de registro impresos por los módulos de terceros que importo. Por ejemplo, estoy usando algo como lo siguiente: logger = logging.getLogger() logger.setLevel(level=logging.DEBUG) fh = logging.StreamHandler() fh_formatter = logging.Formatter(‘%(asctime)s %(levelname)s %(lineno)d:%(filename)s(%(process)d) – %(message)s’) fh.setFormatter(fh_formatter) logger.addHandler(fh) Esto imprime mis mensajes de depuración cuando […]

logging setLevel, como funciona

En la documentación de instrucciones de registro hay este ejemplo: import logging # create logger logger = logging.getLogger(‘simple_example’) logger.setLevel(logging.DEBUG) # create console handler and set level to debug ch = logging.StreamHandler() ch.setLevel(logging.DEBUG) # create formatter formatter = logging.Formatter(‘%(asctime)s – %(name)s – %(levelname)s – %(message)s’) # add formatter to ch ch.setFormatter(formatter) # add ch to logger […]

Ejecutar subproceso e imprimir salida a registro

Estoy buscando la manera de llamar shell scripts desde python y escribir su stdout y stderr a un archivo utilizando el registro. Aquí está mi código: import logging import tempfile import shlex import os def run_shell_command(command_line): command_line_args = shlex.split(command_line) logging.info(‘Subprocess: \”‘ + command_line + ‘\”‘) process_succeeded = True try: process_output_filename = tempfile.mktemp(suffix = ‘subprocess_tmp_file_’) process_output […]

Registro de Python: Cómo configurar la hora para GMT

¿Es posible y cómo configurar la zona horaria de registro a GMT? (es decir, el parámetro %(asctime)s en el formato)

Registrar la salida de Unittest a un archivo de texto

Estoy intentando registrar el resultado de las pruebas en un archivo de texto. Estoy usando el módulo unittest y quiero registrar los resultados en un archivo de texto en lugar de en la pantalla. Tengo un script aquí para explicar lo que se ha intentado hasta ahora. Este es el script de prueba. import unittest, […]

TimedRotatingFileHandler ¿Cambiar nombre de archivo?

Estoy tratando de implementar el controlador de registro de python llamado TimedRotatingFileHandler. Cuando llega a la medianoche, agrega el día actual en el formulario: “AAAA-MM-DD”. LOGGING_MSG_FORMAT = ‘%(name)-14s > [%(levelname)s] [%(asctime)s] : %(message)s’ LOGGING_DATE_FORMAT = ‘%Y-%m-%d %H:%M:%S’ logging.basicConfig( level=logging.DEBUG, format=LOGGING_MSG_FORMAT, datefmt=LOGGING_DATE_FORMAT ) root_logger = logging.getLogger(”) logger = logging.handlers.TimedRotatingFileHandler(“C:\\logs\\Rotate_Test”,’midnight’,1) root_logger.addHandler(logger) while True: daemon_logger = logging.getLogger(‘TEST’) daemon_logger.info(“SDFKLDSKLFFJKLSDD”) […]

Cómo registrar el nombre del archivo de origen y el número de línea en Python

¿Es posible decorar / extender el sistema de registro estándar de Python, de modo que cuando se invoca un método de registro también se registre el archivo y el número de línea donde se invocó o tal vez el método que lo invocó?

¿El registro de Python vacía cada registro?

Cuando escribo un registro en un archivo utilizando el registro del módulo estándar, ¿cada registro se vaciará en el disco por separado? Por ejemplo, ¿el siguiente código se vaciará el registro 10 veces? logging.basicConfig(level=logging.DEBUG, filename=’debug.log’) for i in xrange(10): logging.debug(“test”) Si es así, ¿disminuirá la velocidad?