2010-10-28 11 views
14

Estoy usando la biblioteca Freebase Python. Se crea un registro antes de ejecutar:¿Dónde almacena el registrador de raíz Python un registro?

self.log = logging.getLogger("freebase") 

¿Dónde está este registro en el sistema de archivos? No está en el directorio de ejecución o tmp.

+0

Noté un voto negativo sobre esta pregunta sin ninguna explicación. Agradecería que la persona que votó negativamente me diera a conocer por qué, así puedo estar seguro de ser más claro en el futuro. –

Respuesta

14

Esa llamada no almacena nada. Simplemente crea un objeto logger que puede vincularse y configurarse de la forma que desee.

lo tanto, si en el código Python, que eran para agregar

logging.basicConfig(level=logging.WARNING) 

Todas las advertencias y los errores serían conectado a la salida estándar (que es lo que hace basicConfig), incluyendo las llamadas que hace de base libre. Si desea iniciar sesión en el sistema de archivos u otro objetivo, querrá hacer referencia al logging module documentation para obtener más información. También puede consultar el Logging HOWTO.

+6

+1 a lo que dijo Jason. También puede hacer, p. 'logging.basicConfig (filename = '/ path/to/file.log', filemode = 'w', level = logging.DEBUG)' para hacer un simple registro de todo en un archivo. –

+0

Entonces, después de que 'self.log' se define como en la pregunta de @Matt Norris, las llamadas subsiguientes a' self.logger.debug' no se guardarán en el disco (suponiendo que no se realicen llamadas intermedias). – dbliss

+0

@dbliss Si configuró el registro según la sugerencia de Vinay, las llamadas subsiguientes a 'self.log.debug' se escribirían en el archivo. Si configuró el registro por mi respuesta, las llamadas a 'self.log.debug' se ignorarían porque están por debajo del nivel especificado de' logging.WARNING'. –

Cuestiones relacionadas