day6_logging模块
#!/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模块的更多相关文章
- day6_异常捕捉
#!/usr/bin/env python # -*- coding: utf-8 -*- # @Time : 2019/7/11 14:14 # @Author : 大坏男孩 # @File : d ...
- npm 私有模块的管理使用
你可以使用 NPM 命令行工具来管理你在 NPM 仓库的私有模块代码,这使得在项目中使用公共模块变的更加方便. 开始前的工作 你需要一个 2.7.0 以上版本的 npm ,并且需要有一个可以登陆 np ...
- node.js学习(三)简单的node程序&&模块简单使用&&commonJS规范&&深入理解模块原理
一.一个简单的node程序 1.新建一个txt文件 2.修改后缀 修改之后会弹出这个,点击"是" 3.运行test.js 源文件 使用node.js运行之后的. 如果该路径下没有该 ...
- ES6模块import细节
写在前面,目前浏览器对ES6的import支持还不是很好,需要用bable转译. ES6引入外部模块分两种情况: 1.导入外部的变量或函数等: import {firstName, lastName, ...
- Python标准模块--ContextManager
1 模块简介 在数年前,Python 2.5 加入了一个非常特殊的关键字,就是with.with语句允许开发者创建上下文管理器.什么是上下文管理器?上下文管理器就是允许你可以自动地开始和结束一些事情. ...
- Python标准模块--Unicode
1 模块简介 Python 3中最大的变化之一就是删除了Unicode类型.在Python 2中,有str类型和unicode类型,例如, Python 2.7.6 (default, Oct 26 ...
- Python标准模块--Iterators和Generators
1 模块简介 当你开始使用Python编程时,你或许已经使用了iterators(迭代器)和generators(生成器),你当时可能并没有意识到.在本篇博文中,我们将会学习迭代器和生成器是什么.当然 ...
- 自己实现一个javascript事件模块
nodejs中的事件模块 nodejs中有一个events模块,用来给别的函数对象提供绑定事件.触发事件的能力.这个别的函数的对象,我把它叫做事件宿主对象(非权威叫法),其原理是把宿主函数的原型链指向 ...
- 理解nodejs模块的scope
描述 原文档地址:https://docs.npmjs.com/misc/scope 所有npm模块都有name,有的模块的name还有scope.scope的命名规则和name差不多,同样不能有ur ...
随机推荐
- 008.MongoDB分片群集概念及原理
一 MongoDB分片介绍 1.1 分片 Mongodb另一种集群,就是分片技术,可以满足MongoDB数据量大量增长的需求. 当MongoDB存储海量的数据时,一台机器可能不足以存储数据,也可能不足 ...
- 【机器学习之数学】03 有约束的非线性优化问题——拉格朗日乘子法、KKT条件、投影法
目录 1 将有约束问题转化为无约束问题 1.1 拉格朗日法 1.1.1 KKT条件 1.1.2 拉格朗日法更新方程 1.1.3 凸优化问题下的拉格朗日法 1.2 罚函数法 2 对梯度算法进行修改,使其 ...
- Fastdfs的安装流程
一.修改ip地址 1.查看网卡一的mac地址 cat /etc/udev/rules.d/70-persistent-net.rules 2.修改ip地址文件 cd /etc/sysconfig/ne ...
- Idea的Http测试支持(十二)
1. 在Tools > HTTP Client > Test RESTful Web Service 打开窗口 窗口信息如下: 2. 在Host里面填写接口请求的服务器ip地址和端口,pa ...
- Codeforces Round #598 (Div. 3) C. Platforms Jumping 贪心或dp
C. Platforms Jumping There is a river of width n. The left bank of the river is cell 0 and the right ...
- 《最优化导论第4版》高清中文版PDF+高清英文版PDF+习题题解
<最优化导论第4版>高清中文版PDF+高清英文版PDF+习题题解 存放在语雀 凸优化 · 语雀
- SourceTree3.2.6版本跳过注册办法
一.去sourceTree官网下载最新的包 官网:https://www.sourcetreeapp.com/windows版下载地址:https://product-downloads.atlass ...
- springboot整合shiro进行权限管理
背景:springboot2.1,shiro1.4:由于目前的小项目没做登录,但是客户又需要加上权限,因此楼主就想到了shiro(这是单独的项目,需要集成后台管理系统) shiro简介 Apache ...
- HTML连载48-清除浮动的其中两种方式
一.清除浮动的方式一 给前面一个父元素设置高度,注意:企业开发中能不写高度就不写高度 <!DOCTYPE html> <html lang="en"> & ...
- Java字符串面试问答
字符串是使用最广泛的Java的类之一.在这里,我列出了一些重要的Java的字符串面试问答. 这将有助于您全面了解String并解决面试中与String有关的任何问题. Java基础面试问题 Java中 ...