Ya estoy usando una configuración de registro básica donde todos los mensajes en todos los módulos se almacenan en un solo archivo. Sin embargo, necesito una solución más compleja ahora:
- Dos archivos: el primero sigue siendo el mismo.
- El segundo archivo debe tener algún formato personalizado.
He estado leyendo los documentos del módulo, pero son muy complejos para mí en este momento. Leñadores, manipuladores ...
Entonces, en resumen:
Cómo iniciar sesión en dos archivos en Python 3, es decir:
import logging
# ...
logging.file1.info('Write this to file 1')
logging.file2.info('Write this to file 2')
python
python-3.x
logging
logfile
marw
fuente
fuente
logging.WARNING
, por lo que sería más claro siLogger.setLevel(logging.WARNING)
se llama.logger_1
no se envía al archivo de registro? Lo configurélogger_1.error('error foo')
, pero aún no funcionalogger_1.info('message_1')
líneasimplefile_1.log
, debe configurar el nivel paraINFO
usarlogger_1.setLevel(logging.INFO)
o usarlogger_1.error('message_1')
en su lugar.INFO
Aparentemente, un mensaje no se registrará cuando el nivel seaWARNING
, que es el predeterminado.def setup_logger(logger_name, log_file, level=logging.INFO): l = logging.getLogger(logger_name) formatter = logging.Formatter('%(message)s') fileHandler = logging.FileHandler(log_file, mode='w') fileHandler.setFormatter(formatter) streamHandler = logging.StreamHandler() streamHandler.setFormatter(formatter) l.setLevel(level) l.addHandler(fileHandler) l.addHandler(streamHandler) setup_logger('log1', txtName+"txt") setup_logger('log2', txtName+"small.txt") logger_1 = logging.getLogger('log1') logger_2 = logging.getLogger('log2') logger_1.info('111messasage 1') logger_2.info('222ersaror foo')
fuente