pythonlog_0">python中的log怎么打印日志
在Python中,打印日志通常是通过使用logging
模块来完成的。logging
模块提供了灵活的日志系统,允许你控制日志信息的输出位置(例如,控制台、文件、网络等),以及日志的级别(如DEBUG、INFO、WARNING、ERROR、CRITICAL)。以下是一个简单的示例,展示如何使用logging
模块来打印日志:
基本配置
python">import logging# 创建一个logger
logger = logging.getLogger('my_logger')
logger.setLevel(logging.DEBUG) # 设置日志级别为DEBUG# 创建一个handler,用于写入日志文件
fh = logging.FileHandler('test.log')
fh.setLevel(logging.DEBUG) # 设置handler的日志级别为DEBUG# 再创建一个handler,用于输出到控制台
ch = logging.StreamHandler()
ch.setLevel(logging.ERROR) # 设置handler的日志级别为ERROR# 定义handler的输出格式
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
fh.setFormatter(formatter)
ch.setFormatter(formatter)# 给logger添加handler
logger.addHandler(fh)
logger.addHandler(ch)# 使用logger打印日志
logger.debug('这是一个debug级别的日志')
logger.info('这是一个info级别的日志')
logger.warning('这是一个warning级别的日志')
logger.error('这是一个error级别的日志')
logger.critical('这是一个critical级别的日志')
简单配置
如果你不想进行这么复杂的配置,logging
模块也提供了一个快速配置日志的方式:
python">import logging# 基本配置(日志级别、格式、文件名等)
logging.basicConfig(level=logging.DEBUG,format='%(asctime)s - %(name)s - %(levelname)s - %(message)s',filename='test.log',filemode='w')# 创建一个logger
logger = logging.getLogger('simple_example')# 使用logger打印日志
logger.debug('这是一个debug级别的日志')
logger.info('这是一个info级别的日志')
请注意,在上面的简单配置示例中,由于basicConfig
已经设置了日志输出到文件,因此控制台将不会显示日志信息。如果你既想将日志输出到文件,又想在控制台看到日志信息,你需要分别配置文件handler和控制台handler,如第一个示例所示。
logging
模块提供了非常丰富的功能,包括日志回滚、日志的异步处理等,你可以通过查阅官方文档来了解更多高级用法。