首先需要导入Python内置的logging模块。可以通过以下命令完成:
import logging
logging模块提供了多个级别的日志,从严格到宽松分别是:
默认情况下,日志级别为INFO。可以通过以下命令将日志级别设置为DEBUG:
logging.basicConfig(level=logging.DEBUG)
在日志中使用记录器(Logger)可以帮助我们更好地控制日志输出的格式和位置。可以通过以下命令创建一个名为my_logger
的记录器:
logger = logging.getLogger('my_logger')
如果要在多个记录器中记录日志,需要将它们添加到同一级别。例如,将日志级别设置为WARNING:
logging.basicConfig(level=logging.WARNING)
然后,可以通过以下命令将my_logger
记录器添加到级别:
logger.addHandler(logging.StreamHandler())
使用记录器(Logger)可以方便地记录日志。可以通过以下命令记录日志:
logger.warning('This is a warning message')
在记录日志时,还可以指定日志级别、日志文件名、日志级别字典等参数。例如:
logging.basicConfig(filename='example.log', level=logging.DEBUG,
format='%(asctime)s - %(name)s - %(levelname)s - %(message)s')
logger.debug('This is a debug message')
除了%(name)s
、%(levelname)s
等标准格式化字符串外,还可以使用自定义格式化字符串来格式化日志。例如:
logger.info('This is an info message', extra={'name': 'Alice'})
这将把name
参数添加到日志文件中。
基本配置示例
import logging
logging.basicConfig(level=logging.DEBUG, format='%(asctime)s - %(levelname)s - %(message)s')
logging.debug('This is a debug message')
logging.info('This is an info message')
logging.warning('This is a warning message')
logging.error('This is an error message')
logging.critical('This is a critical message')
在这个例子中,通过basicConfig
方法配置了日志级别为DEBUG,并定义了日志消息的格式。然后,使用不同级别的日志记录消息。
将日志记录到文件:
import logging
logging.basicConfig(filename='example.log', level=logging.DEBUG, format='%(asctime)s - %(levelname)s - %(message)s')
logging.debug('This is a debug message')
logging.info('This is an info message')
logging.warning('This is a warning message')
logging.error('This is an error message')
logging.critical('This is a critical message')
在这个例子中,日志消息将被记录到名为example.log
的文件中。
使用不同的日志处理程序:
import logging
# 创建一个文件处理程序
file_handler = logging.FileHandler('example.log')
file_handler.setLevel(logging.DEBUG)
# 创建一个控制台处理程序
console_handler = logging.StreamHandler()
console_handler.setLevel(logging.WARNING)
# 创建一个日志记录器并将处理程序添加到它
logger = logging.getLogger('example')
logger.setLevel(logging.DEBUG)
logger.addHandler(file_handler)
logger.addHandler(console_handler)
logger.debug('This is a debug message')
logger.info('This is an info message')
logger.warning('This is a warning message')
logger.error('This is an error message')
logger.critical('This is a critical message')
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。