当前位置: 首页 / 技术干货 / 正文
好程序员Python培训之log日志功能及设置方法

2020-09-30

Python 北京Python培训

  好程序员Python培训分享log日志功能及设置方法的详细介绍,首先引入Python中有个logging模块可以完成相关信息的记录,在debug时用它往往事半功倍,下面一起跟随小编过来看看吧。

好程序员

  一、日志级别(从低到高):

  DEBUG:详细的信息,通常只出现在诊断问题上

  INFO:确认一切按预期运行

  WARNING:一个迹象表明,一些意想不到的事情发生了,或表明一些问题在不久的将来(例如。磁盘空间低”)。这个软件还能按预期工作。

  ERROR:更严重的问题,软件没能执行一些功能

  CRITICAL:一个严重的错误,这表明程序本身可能无法继续运行

  注:这5个等级,也分别对应5种打日志的方法:debug、info、warning、error、critical。默认的是WARNING,当在WARNING或之上时才被跟踪。

  二、日志输出:显示到控制台或保存到文件中,可以灵活选用

  # 这里为了简便,同时处理:输出控制台和保存到文件中

  import logging

  # diyi步,创建一个logger

  logger = logging.getLogger()

  logger.setLevel(logging.INFO) # Log等级总开关

  # 第二步,创建一个handler,用于写入日志文件

  logfile = './log.txt'

  fh = logging.FileHandler(logfile, mode='a') # open的打开模式这里可以进行参考

  fh.setLevel(logging.DEBUG) # 输出到file的log等级的开关

  # 第三步,再创建一个handler,用于输出到控制台

  ch = logging.StreamHandler()

  ch.setLevel(logging.WARNING) # 输出到console的log等级的开关

  # 第四步,定义handler的输出格式

  formatter = logging.Formatter("%(asctime)s - %(filename)s[line:%(lineno)d] - %(levelname)s: %(message)s")

  fh.setFormatter(formatter)

  ch.setFormatter(formatter)

  # 第五步,将logger添加到handler里面

  logger.addHandler(fh)

  logger.addHandler(ch)

  # 日志

  logger.debug('这是 logger debug message')

  logger.info('这是 logger info message')

  logger.warning('这是 logger warning message')

  logger.error('这是 logger error message')

  logger.critical('这是 logger critical message')

  三、日志格式说明

  logging.basicConfig函数中,可以指定日志的输出格式format,这个参数可以输出很多有用的信息,如下:

  %(levelno)s:打印日志级别的数值

  %(levelname)s:打印日志级别名称

  %(pathname)s:打印当前执行程序的路径,其实就是sys.argv[0]

  %(filename)s:打印当前执行程序名

  %(funcName)s:打印日志的当前函数

  %(lineno)d:打印日志的当前行号

  %(asctime)s:打印日志的时间

  %(thread)d:打印线程ID

  %(threadName)s:打印线程名称

  %(process)d:打印进程ID

  %(message)s:打印日志信息

  以上就是关于好程序员Python培训之log日志功能及设置方法的全部内容

好程序员公众号

  • · 剖析行业发展趋势
  • · 汇聚企业项目源码

好程序员开班动态

More+
  • HTML5大前端 <高端班>

    开班时间:2021-04-12(深圳)

    开班盛况

    开班时间:2021-05-17(北京)

    开班盛况
  • 大数据+人工智能 <高端班>

    开班时间:2021-03-22(杭州)

    开班盛况

    开班时间:2021-04-26(北京)

    开班盛况
  • JavaEE分布式开发 <高端班>

    开班时间:2021-05-10(北京)

    开班盛况

    开班时间:2021-02-22(北京)

    开班盛况
  • Python人工智能+数据分析 <高端班>

    开班时间:2021-07-12(北京)

    预约报名

    开班时间:2020-09-21(上海)

    开班盛况
  • 云计算开发 <高端班>

    开班时间:2021-07-12(北京)

    预约报名

    开班时间:2019-07-22(北京)

    开班盛况
IT培训IT培训
在线咨询
IT培训IT培训
试听
IT培训IT培训
入学教程
IT培训IT培训
立即报名
IT培训

Copyright 2011-2023 北京千锋互联科技有限公司 .All Right 京ICP备12003911号-5 京公网安备 11010802035720号