Python牛刀小试(五)--logging模块

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 由于想给自己的Python程序添加日志功能,学习下Python的日志模块。一个简单的例子: 点击(此处)折叠或打开 import logging ##第一个简单的例子 logging.
由于想给自己的Python程序添加日志功能,学习下Python的日志模块。

一个简单的例子:

点击(此处)折叠或打开

  1. import logging

  2. ##第一个简单的例子
  3. logging.warning('Watch out!') # will print a message to the console 输出到控制台
  4. logging.info('I told you so') # will not print anything 没有任何输出信息
输出至控制台的信息,如下:

点击(此处)折叠或打开

  1. D:\stock>python test4_logger.py
  2. WARNING:root:Watch out!
输出日志到文件中

点击(此处)折叠或打开

import logging

##输出到example日志文件中
logging.basicConfig(filename='example.log',level=logging.DEBUG)
logging.debug('This message should go to the log file')
logging.info('So should this')
logging.warning('And this, too')
在当前目录中,有一个example.log日志文件,输出日志如下:

点击(此处)折叠或打开

DEBUG:root:This message should go to the log file INFO:root:So should this WARNING:root:And this, too
----------------------------------------简单的日志的分割线-----------------------------------------------------------
由于自己写的模块,需要模块化,要有配置文件,能复用。控制台和文件都能输出。
源代码如下:

配置文件如下:

点击(此处)折叠或打开

  1. [loggers]
  2. keys=root,simpleExample
  3. [handlers]
  4. keys=consoleHandler,fileHandler
  5. [formatters]
  6. keys=simpleFormatter
  7. [logger_root]
  8. level=DEBUG
  9. handlers=consoleHandler,fileHandler
  10. [logger_simpleExample]
  11. level=DEBUG
  12. handlers=consoleHandler,fileHandler
  13. qualname=simpleExample
  14. propagate=0
  15. [handler_consoleHandler]
  16. class=StreamHandler
  17. level=DEBUG
  18. formatter=simpleFormatter
  19. args=(sys.stdout,)
  20. [formatter_simpleFormatter]
  21. format=%(asctime)s - %(name)s - %(levelname)s - %(message)s
  22. datefmt=
  23. [handler_fileHandler]
  24. class=logging.handlers.TimedRotatingFileHandler
  25. level=DEBUG
  26. formatter=simpleFormatter
  27. args=("zsd.log", "midnight")

Python执行文件:

点击(此处)折叠或打开

  1. import logging
  2. import logging.config

  3. logging.config.fileConfig('logging.conf')
  4. # create logger
  5. logger = logging.getLogger('simpleExample')

  6. # 'application' code
  7. logger.debug('debug message')
  8. logger.info('info message')
  9. logger.warn('warn message')
  10. logger.error('error message')
  11. logger.critical('critical message')


相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
7天前
|
测试技术 Python
手动解决Python模块和包依赖冲突的具体步骤是什么?
需要注意的是,手动解决依赖冲突可能需要一定的时间和经验,并且需要谨慎操作,避免引入新的问题。在实际操作中,还可以结合使用其他方法,如虚拟环境等,来更好地管理和解决依赖冲突😉。
|
17天前
|
Python
在Python中,可以使用内置的`re`模块来处理正则表达式
在Python中,可以使用内置的`re`模块来处理正则表达式
39 5
|
27天前
|
Java 程序员 开发者
Python的gc模块
Python的gc模块
|
1月前
|
数据采集 Web App开发 JavaScript
python-selenium模块详解!!!
Selenium 是一个强大的自动化测试工具,支持 Python 调用浏览器进行网页抓取。本文介绍了 Selenium 的安装、基本使用、元素定位、高级操作等内容。主要内容包括:发送请求、加载网页、元素定位、处理 Cookie、无头浏览器设置、页面等待、窗口和 iframe 切换等。通过示例代码帮助读者快速掌握 Selenium 的核心功能。
89 5
|
1月前
|
Python
SciPy 教程 之 SciPy 模块列表 13
SciPy教程之SciPy模块列表13:单位类型。常量模块包含多种单位,如公制、二进制(字节)、质量、角度、时间、长度、压强、体积、速度、温度、能量、功率和力学单位。示例代码展示了如何使用`constants`模块获取零摄氏度对应的开尔文值(273.15)和华氏度与摄氏度的转换系数(0.5556)。
18 1
|
29天前
|
Python
SciPy 教程 之 SciPy 模块列表 16
SciPy教程之SciPy模块列表16 - 单位类型。常量模块包含多种单位,如公制、质量、角度、时间、长度、压强、体积、速度、温度、能量、功率和力学单位。示例代码展示了力学单位的使用,如牛顿、磅力和千克力等。
18 0
|
1月前
|
JavaScript Python
SciPy 教程 之 SciPy 模块列表 15
SciPy 教程之 SciPy 模块列表 15 - 功率单位。常量模块包含多种单位,如公制、质量、时间等。功率单位中,1 瓦特定义为 1 焦耳/秒,表示每秒转换或耗散的能量速率。示例代码展示了如何使用 `constants` 模块获取马力值(745.6998715822701)。
16 0
|
1月前
|
JavaScript Python
SciPy 教程 之 SciPy 模块列表 15
SciPy教程之SciPy模块列表15:单位类型。常量模块包含多种单位,如公制、质量、角度、时间、长度、压强、体积、速度、温度、能量、功率和力学单位。功率单位以瓦特(W)表示,1W=1J/s。示例代码展示了如何使用`constants`模块获取马力(hp)的值,结果为745.6998715822701。
18 0
|
1月前
|
Python
SciPy 教程 之 SciPy 模块列表 13
SciPy 教程之 SciPy 模块列表 13 - 单位类型。常量模块包含多种单位:公制、二进制(字节)、质量、角度、时间、长度、压强、体积、速度、温度、能量、功率和力学单位。示例:`constants.zero_Celsius` 返回 273.15 开尔文,`constants.degree_Fahrenheit` 返回 0.5555555555555556。
14 0
|
1月前
|
Python
SciPy 教程 之 SciPy 模块列表 11
SciPy教程之SciPy模块列表11:单位类型。常量模块包含公制单位、质量单位、角度换算、时间单位、长度单位、压强单位、体积单位、速度单位、温度单位、能量单位、功率单位、力学单位等。体积单位示例展示了不同体积单位的换算,如升、加仑、流体盎司、桶等。
27 0