一、logging相关配置

 1 import logging
2 """
3 asctime:运行时间
4 name:主模块名称
5 levelname:日志级别 INFO、DEBUG
6 message:日志内容
7 """
8 # 日志配置
9 logging.basicConfig(level=logging.DEBUG, format='%(asctime)s-%(name)s - \
10 %(levelname)s-%(message)s')
11
12 # 声明了一个 Logger 对象,它就是日志输出的主类
13 # __name__:执行主模块的名称
14 logger= logging.getLogger(__name__)
15 # 日志信息内容输出
16 logger.info('信息')
17 # 日志信息调试输出
18 logger.debug("调试")
19 # 日志信息警告输出
20 logger.warning("警告")
21 logger.info("完成")

注: 

1 # 另一种设置日志级别的方式,对实例化对象进行级别配置
2 logger.setLevel(level=logging.DEBUG)
  • filename:即日志输出的文件名,如果指定了这个信息之后,实际上会启用 FileHandler(日志存入文件中),而不再是 StreamHandler(控制台输出),这样日志信息便会输出到文件中了。
  • filemode:这个是指定日志文件的写入方式,有两种形式,w:清除后写入,一种是 a:追加写入。
  • format:指定日志信息的输出格式
  • datefmt:指定时间的输出格式。
  • style:如果 format 参数指定了,这个参数就可以指定格式化时的占位符风格,如 %、{、$ 等。
  • level:指定日志输出的类别,程序会输出大于等于此级别的信息。
  • stream:在没有指定 filename 的时候会默认使用 StreamHandler,这时 stream 可以指定初始化的文件流。
  • handlers:可以指定日志处理时所使用的 Handlers,必须是可迭代的。

扩展:

  • level对应等级

二、Handler用法:

 1 import logging
2 from logging.handlers import HTTPHandler
3 import sys
4
5
6 # 实例化logging一个对象
7 logger = logging.getLogger(__name__)
8 # 配置日志级别为DEBUG
9 logger.setLevel(level=logging.DEBUG)
10 # 指定信息输出格式
11 formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
12
13 # streamHandler
14 # 指定日志文件并创建一个handler对象
15 stream_handler = logging.StreamHandler(sys.stdout)
16 stream_handler.setLevel(level=logging.DEBUG)
17 # 将输出格式和handler绑定
18 stream_handler.setFormatter(formatter)
19 # 将handler对象和logger(日志对象)绑定
20 logger.addHandler(stream_handler)
21
22 # FileHandler
23 file_handler = logging.FileHandler('out.log')
24 file_handler.setLevel(logging.INFO)
25 file_handler.setFormatter(formatter)
26 logger.addHandler(file_handler)
27
28 # HTTPHandler
29 http_handler = HTTPHandler(host='localhost:8001', url='log', method='POST')
30 logger.addHandler(http_handler)
31
32 # 日志输出信息
33 logger.info('Info')
34 logger.debug('Debug')
35 logger.warning('Warning')
36 logger.info('Finish')

三、Formatter

pythonn全栈学习笔记--logging模块学习(四)的更多相关文章

  1. Python 全栈开发六 常用模块学习

    本节大纲: 模块介绍 time &datetime模块 random os sys shutil json & picle shelve configparser hashlib 一. ...

  2. Python全栈开发-Day5-常用模块学习

    本节大纲: 模块介绍 time &datetime模块 random os sys shutil shelve xml处理 pyyaml处理 configparser hashlib re正则 ...

  3. python 学习笔记 -logging模块(日志)

    模块级函数 logging.getLogger([name]):返回一个logger对象,如果没有指定名字将返回root loggerlogging.debug().logging.info().lo ...

  4. Python全栈之路----常用模块学习----模块的种类和导入方法

    什么是模块? 在计算机程序的开发过程中,随着程序代码越写越多,在一个文件里代码就会越来越长,越来越不容易维护. 为了编写可维护的代码,我们把很多函数分组,分别放到不同的文件里,这样,每个文件包含的代码 ...

  5. Python3学习笔记25-logging模块

    logging模块,Python自带用来记录日志的模块. 因为工作需要用到关于日志的,最近一直都在看关于日志模块的东西,百度了很多文章,可惜都是看的让人一头雾水,最后运气不错,找到一篇很详细的文章.传 ...

  6. Python logging 模块学习

    logging example Level When it's used Numeric value DEBUG Detailed information, typically of interest ...

  7. 学习笔记:CentOS7学习之十七: Linux计划任务与日志的管理

    目录 学习笔记:CentOS7学习之十七: Linux计划任务与日志的管理 17.1 计划任务-at-cron-计划任务使用方法 17.1.1 at计划任务的使用 17.1.2 查看和删除at将要执行 ...

  8. HTML+CSS学习笔记 (6) - 开始学习CSS

    HTML+CSS学习笔记 (6) - 开始学习CSS 认识CSS样式 CSS全称为"层叠样式表 (Cascading Style Sheets)",它主要是用于定义HTML内容在浏 ...

  9. 学习笔记:CentOS7学习之二十五:shell中色彩处理和awk使用技巧

    目录 学习笔记:CentOS7学习之二十五:shell中色彩处理和awk使用技巧 25.1 Shell中的色彩处理 25.2 awk基本应用 25.2.1 概念 25.2.2实例演示 25.3 awk ...

  10. 学习笔记:CentOS7学习之二十:shell脚本的基础

    目录 学习笔记:CentOS7学习之二十:shell脚本的基础 20.1 shell 基本语法 20.1.1 什么是shell? 20.1.2 编程语言分类 20.1.3 什么是shell脚本 20. ...

随机推荐

  1. 统一单点登录&跳转

    在客户端输入地址(xxx.xxx.xxx/controll/方法/参数) 服务端到controll层 进行数据匹配 跳转 前端响应情况 图片跳转与列表跳转 图片:编写跳转函数 列表公用图片跳转函数,@ ...

  2. WPF学习笔记-数据采集与监控项目03-课程总览(ItemsControl控件)

    以下是学习笔记: https://www.bilibili.com/video/BV1gq4y1D76d?p=57&spm_id_from=pageDriver&vd_source=3 ...

  3. java工厂方法模式学习

    简单工厂模式又称为静态工厂模式,实质是由一个工厂类根据传入的参数,动态决定应该创建哪一个产品类(这些产品类继承自一个父类或接口)的实例.简单工厂模式的创建目标,所有创建的对象都是充当这个角色的某个具体 ...

  4. ubuntu 的 apt 命令

    工作原理 apt 全称 advanced packaging tool 是 ubuntu 下的包管理工具 apt 采用集中式仓储机制来管理软件,有 软件安装包 和 软件安装列表 两部分完成. 使用 a ...

  5. 【Java学习Day06】注释种类、符号及用法

    注释种类 单行注释:只能注释一行文字 多行注释:可以注释一段文字 文档注释:用来生成说明文件 注释符号及用法 单行注释:// //后面写注释 多行注释:/**/ /* 我是注释 我是注释 我是注释 * ...

  6. H5云图后台读写CAD文件-在线CAD,网页CAD,网页浏览编辑CAD

    说明 后台提供MxFileConvert.exe程序,它可以将CAD图纸转换成前台能加载显示的格式,程序调用方法见: https://help.mxdraw.com/?pid=32中的"如何 ...

  7. matlab数操作

    随循环填充(更新)矩阵 不断更新矩阵,填充矩阵,可用cat函数: C = cat(dim,A,B); 向量重复扩充矩阵 将相同的向量或矩阵进行重复扩充时,matlab有两种方法:(第二种方法的效率更高 ...

  8. Unity打开两个同样的工程,使用mklink.bat来进行同步

    操作步骤 假设存在一个项目xProject: 1.在xProject的同级目录中建立一个文件夹,命名为xProjectCopy 2.在xProject的同级目录中建立一个bat文件,命名为mklink ...

  9. COOP/COHP(上)-PROOUT

    晶体轨道重叠布居 COOP(crystal orbital overlap population)的一个更为直观的名称是 重叠布居权重的态密度 (overlap population-weighted ...

  10. SqlSugar 代码生成 数据库及表

    在实际开发中如何在sqlsugar中通过model生成数据表呢? 废话不说上代码 一.引入sqlsugarcore 二.编写Model代码 先写一个model举例 namespace 用户管理.Mod ...