#!/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. CodeForces - 1263E(线段树维护前缀和最值)

    题意 https://vjudge.net/problem/CodeForces-1263E 您要设计一个只有一行的打字机,这一行的长度是无限大,一开始可以认为每个字符都是空.您的打字机有一个光标只指 ...

  2. SSL握手中win xp和SNI的那点事

    SSL握手中win xp和SNI的那点事 一.背景需求server1-3使用不同的域名对外提供https服务,用nginx作为前端负载均衡器并负责https集中解密工作(以用户访问的域名为依据进行流量 ...

  3. linux下的set, export, env的区别

    set和export的区别 set可以用来显示所有变量的值,而export能将一个变量导出,在其子shell或子进程也可见 export和env的区别 两者的作用是一样的,只是env是一个外部工具 基 ...

  4. vue--npm install只许成功,不许失败

    npm安装时出现run `npm audit fix` to fix them, or `npm audit` for details 方案一: 1.如果你的项目里存在 package-lock.js ...

  5. IT兄弟连 Java语法教程 Java语法基础 经典面试题

    1.Java语言中有几种基本类型?分别是什么?请详细说明每种类型的范围以及所占的空间大小? Java语言中有8中基本类型,分别是代表整形的byte.short.int和long,代表浮点型的float ...

  6. Flink JobManager 和 TaskManager 原理

    转自:https://www.cnblogs.com/nicekk/p/11561836.html 一.概述 Flink 整个系统主要由两个组件组成,分别为 JobManager 和 TaskMana ...

  7. Xml之Schema XSD约束{详细}

    问题: 学习Schema其他标签的定义 约束 引入的方式: 基本格式: 1构建schema: 1.1 最基本的单位元素 1.2 元素属性 1.3 simpleType 定义类型 1.4 复合结构类型 ...

  8. Java-100天知识进阶-Java内存-知识铺(四)

    知识铺: 致力于打造轻知识点,持续更新每次的知识点较少,阅读不累.不占太多时间,不停的来唤醒你记忆深处的知识点. 1.Java内存模型是每个java程序员必须掌握理解的 2.Java内存模型的主要目标 ...

  9. 公益:开放一台Nacos服务端给各位Spring Cloud爱好者

    之前开放过一台公益Eureka Server给大家,以方便大家在阅读我博客中教程时候做实验.由于目前在连载Spring Cloud Alibaba,所以对应的也部署了一台Nacos,并且也开放出来,给 ...

  10. linux远程执行ssh禁用交互方法

    ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null ${user}@${ip} ${cmd}