#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2019/7/11 9:12
# @Author : 大坏男孩
# @File : day6_logging模块.py
# @Software: PyCharm
# @license : Copyright(C), 未来集团有限公司
# @Contact : 110@163.com """
logging:日志模块
日志文件的级别(从低到高):debug、info、warning、error、critical
PS:低级别的日志信息,不能写入高级别的日志文件
levelname = 日志信息级别
filename = 产生日志信息的文件名
lineno = 产生日志的代码行号
message = 日志的内容
asctime = 日志产生的时间
"""
import logging logging.basicConfig(
# 配置日志文件的级别 -->级别要大写
level=logging.DEBUG,
# 配置日志输出到哪个文件,默认"a"模式:追加
filename="log_test",
# 配置日志输出到文件的模式 可"a"或者"a+"
filemode="a+",
# format 配置日志输出内容
format="%(levelname)s %(filename)s %(asctime)s %(lineno)s %(message)s"
) logging.debug("顾城--门前")
logging.info("草在结它的种子")
logging.warning("风在摇它的叶子")
logging.error("我们站着,不说话")
logging.critical("就十分美好")

  

# 用函数的写法
"""
1、logger = logging.getLogger() -->拿到日志的写权限
2、logger.setLevel("INFO") -->配置日志文件的级别
3、ch = logging.FileHandler("filename","a+",encoding="utf8") -->配置日志输出到哪个文件
4、fm = logging.Formatter("%(levelname)s %(filename)s %(asctime)s %(lineno)s %(message)s")
5、th = logging.StreamHandler() -->输出日志内容到控制台(屏幕)
6、th.setFormatter(fm) -->通过setFormatter()把fm给到th,th往控制台输出时,就按照fm的格式输出
7、ch.setFormatter(fm) -->通过setFormatter()把fm给到ch,ch往日志文件输出时,就按照fm的格式输出
8、logger.addHandler(ch) logger得到ch的功能, 能够往文件输出日志
9、logger.addHandler(th) logger得到th的功能, 能够往屏幕输出日志
"""
import logging
def logs():
# 拿到日志的写权限
logger = logging.getLogger()
# 配置日志文件的级别
logger.setLevel("DEBUG")
# 配置日志输出到哪个文件
ch = logging.FileHandler("C:\\Users\Administrator\PycharmProjects\liyebin\python基础\python模块详解\log_test",encoding="gbk")
# 配置输出内容
fm = logging.Formatter("%(levelname)s %(filename)s %(asctime)s %(lineno)s %(message)s")
# 输出日志内容到控制台(屏幕)
th = logging.StreamHandler()
# 通过setFormatter把 fm 给到 th th往控制台输出时,就按照fm的格式输出
th.setFormatter(fm)
# 通过setFormatter把 fm 给到 ch ch往日志文件输出时,就按照fm的格式输出
ch.setFormatter(fm)
# logger得到ch的功能,能够往文件输出日志
logger.addHandler(ch)
# logger得到th的功能,能够往屏幕输出日志
logger.addHandler(th)
return logger
if __name__ == '__main__': # https://www.cnblogs.com/kex1n/p/5975575.html
l = logs()
l.info("有内鬼,终止交易!!!")

  

day6_logging模块的更多相关文章

  1. day6_异常捕捉

    #!/usr/bin/env python # -*- coding: utf-8 -*- # @Time : 2019/7/11 14:14 # @Author : 大坏男孩 # @File : d ...

  2. npm 私有模块的管理使用

    你可以使用 NPM 命令行工具来管理你在 NPM 仓库的私有模块代码,这使得在项目中使用公共模块变的更加方便. 开始前的工作 你需要一个 2.7.0 以上版本的 npm ,并且需要有一个可以登陆 np ...

  3. node.js学习(三)简单的node程序&&模块简单使用&&commonJS规范&&深入理解模块原理

    一.一个简单的node程序 1.新建一个txt文件 2.修改后缀 修改之后会弹出这个,点击"是" 3.运行test.js 源文件 使用node.js运行之后的. 如果该路径下没有该 ...

  4. ES6模块import细节

    写在前面,目前浏览器对ES6的import支持还不是很好,需要用bable转译. ES6引入外部模块分两种情况: 1.导入外部的变量或函数等: import {firstName, lastName, ...

  5. Python标准模块--ContextManager

    1 模块简介 在数年前,Python 2.5 加入了一个非常特殊的关键字,就是with.with语句允许开发者创建上下文管理器.什么是上下文管理器?上下文管理器就是允许你可以自动地开始和结束一些事情. ...

  6. Python标准模块--Unicode

    1 模块简介 Python 3中最大的变化之一就是删除了Unicode类型.在Python 2中,有str类型和unicode类型,例如, Python 2.7.6 (default, Oct 26 ...

  7. Python标准模块--Iterators和Generators

    1 模块简介 当你开始使用Python编程时,你或许已经使用了iterators(迭代器)和generators(生成器),你当时可能并没有意识到.在本篇博文中,我们将会学习迭代器和生成器是什么.当然 ...

  8. 自己实现一个javascript事件模块

    nodejs中的事件模块 nodejs中有一个events模块,用来给别的函数对象提供绑定事件.触发事件的能力.这个别的函数的对象,我把它叫做事件宿主对象(非权威叫法),其原理是把宿主函数的原型链指向 ...

  9. 理解nodejs模块的scope

    描述 原文档地址:https://docs.npmjs.com/misc/scope 所有npm模块都有name,有的模块的name还有scope.scope的命名规则和name差不多,同样不能有ur ...

随机推荐

  1. requests---requests上传图片

    我们在做接口测试的时候肯定会遇到一些上传图片,然后进行校验,今天我们一起学习通过requests上传图片,查看是否上传成功 抓取上传接口 这里我以百度为例子进行操作,为啥要用百度呢,主要上传文件比较简 ...

  2. JS---DOM---为元素解除绑定事件

    解除绑定事件: 1.解绑事件 对象 .on 事件名字=事件处理函数--->绑定事件. 对象 .on 事件名字 = null . 注意:用什么方式绑定事件,就应该用对应的方式解除绑定事件. //1 ...

  3. 调用百度语音AI实现语音的识别和合成

    #coding:utf-8 ## 先去ffmpeg官网下载(https://ffmpeg.zeranoe.com/builds/),好了之后解压缩,配一下环境变量 ## 打开cmd,运行命令,安装如下 ...

  4. IDEA debug工具使用

    参考:https://www.cnblogs.com/jajian/p/9410844.html

  5. Educational Codeforces Round 76 (Rated for Div. 2) A. Two Rival Students 水题

    A. Two Rival Students There are

  6. PHPer的项目RESTful API设计规范是怎样的?

    RESTful 是目前最流行的 API 设计规范,用于 Web 数据接口的设计. 什么是RESTful RESTful是一种软件设计风格, 主要用于客户端与服务端交互的软件. 一般来说RESTful ...

  7. CodeForces 200D Programming Language

    Recently, Valery have come across an entirely new programming language. Most of all the language att ...

  8. 黄聪:wordpress登录后台后load-scripts.php载入缓慢

    今天一个微信群里一个好友问大鸟,他的wordpess后台载入非常缓慢,缓慢到什么程度,我们看图: 这个真的是超级慢了,这类问题怎么解决呢,我们登录后台后,按下F12打开控制台,接着点击network, ...

  9. Requests库主要方法解析以及Requests库入门需要掌握的框架

    Requests库主要方法解析以及Requests库入门 1.requests.request(method,url,**kwargs) **kwargs:控制访问的参数,均为可选项 params:字 ...

  10. MySQL UNION 查询

    UNION 用来合并多个 SELECT 结果. 考察如下两个表: # t1 +----+---------+ | id | pattern | +----+---------+ | 1 | Divot ...