Luego de investigar con especialistas en la materia, programadores de varias áreas y maestros hemos dado con la solución al problema y la dejamos plasmada en esta publicación.
Ejemplo 1: registro de Python en un archivo
import logging
import sys
logger = logging.getLogger()
logger.setLevel(logging.INFO)
formatter = logging.Formatter('%(asctime)s | %(levelname)s | %(message)s','%m-%d-%Y %H:%M:%S')
stdout_handler = logging.StreamHandler(sys.stdout)
stdout_handler.setLevel(logging.DEBUG)
stdout_handler.setFormatter(formatter)
file_handler = logging.FileHandler('logs.log')
file_handler.setLevel(logging.DEBUG)
file_handler.setFormatter(formatter)
logger.addHandler(file_handler)
logger.addHandler(stdout_handler)
Ejemplo 2: ejemplo de registro de Python
# logging_example.pyimport logging
# Create a custom logger
logger = logging.getLogger(__name__)# Create handlers
c_handler = logging.StreamHandler()
f_handler = logging.FileHandler('file.log')
c_handler.setLevel(logging.WARNING)
f_handler.setLevel(logging.ERROR)# Create formatters and add it to handlers
c_format = logging.Formatter('%(name)s - %(levelname)s - %(message)s')
f_format = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
c_handler.setFormatter(c_format)
f_handler.setFormatter(f_format)# Add handlers to the logger
logger.addHandler(c_handler)
logger.addHandler(f_handler)
logger.warning('This is a warning')
logger.error('This is an error')
Ejemplo 3: registrador de registro Pythong para string
import logging
try:from cStringIO import StringIO # Python 2except ImportError:from io import StringIO
classLevelFilter(logging.Filter):def__init__(self, levels):
self.levels = levels
deffilter(self, record):return record.levelno in self.levels
log_stream = StringIO()
logging.basicConfig(stream=log_stream, level=logging.NOTSET)
logging.getLogger().addFilter(LevelFilter((logging.INFO, logging.WARNING, logging.ERROR)))
logging.info('hello world')
logging.warning('be careful!')
logging.debug("you won't see this")
logging.error('you will see this')
logging.critical('critical is no longer logged!')print(log_stream.getvalue())
valoraciones y comentarios
Si te ha resultado de utilidad este artículo, nos gustaría que lo compartas con más desarrolladores y nos ayudes a difundir nuestra información.
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)