一、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. 阻止google浏览器自动更新

    修改 "C:\Windows\System32\drivers\etc\host 文件,在最后增加 127.0.0.1 update.googleapis.com 保存后 win+r 快捷键 ...

  2. C/C++中的可变参数

    所需的函数参数不固定,需要用到带有可变参数的函数,类似printf();项目中需要打印信息等也会用到带可变参数的函数. C语言标准库的头文件 #include<stdarg.h>包含一组能 ...

  3. react项目--路由封装

    import React, { lazy } from "react"; import Home from "../views/Home"; import Lo ...

  4. U盘插上电脑上后自动备份文件

    缘由 一直有个不好的习惯,将所有文件都存在个人U盘,下班直接拔了就回家. 前久把U盘插入MacBook后,U盘就无法读数据了,搞了很久也没搞定. 当然了,里面的数据也无法使用了. 所以,现在的想法: ...

  5. Spring框架3--Web

    Spring框架之Web Javaweb三大组件和四大域 顺便:Javaweb中的四大域,作用范围如下:PageContext<Request<Session<ServletCont ...

  6. Jvm 相关记录

    ## 内存分析工具- JConsole.JVisualVM- gperftools Linux 安装- MAT ## JVM Tools• jps: java process status jps - ...

  7. OS-lab2

    OS-lab2 启动之后,我们的操作系统要能运行,需要一个载体,就是内存.内存的访问不是直接的,而是通过MMU完成.在完成MMU之前,我们先看看一些需要用到的宏定义和函数. include pmap. ...

  8. Linux 第五节 (shell脚本while循环,case,计划任务,用户及权限)

    #!/bin/bash #this is a test script PRICE=$(expr $RANDOM % 1000)   //将随机得出的数字取余 TIMES=0 while true do ...

  9. springboot外部部署官方文档说明复制版

    官方文档地址为: https://docs.spring.io/spring-boot/docs/2.1.6.RELEASE/reference/htmlsingle/#boot-features-e ...

  10. 2、Maven