#!/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. 页面一刷新让文本框自动获取焦点-- 和自定义v-focus指令

    <body> <div id="app"> <input type="text" value="" id=&q ...

  2. LeetCode 307. 区域和检索 - 数组可修改

    地址 https://leetcode-cn.com/problems/range-sum-query-mutable/ 题目描述给定一个整数数组  nums,求出数组从索引 i 到 j  (i ≤  ...

  3. 《icra16_slam_tutorial_tardos.pdf》

    icra16_slam_tutorial_tardos.pdf EKF: https://www.cnblogs.com/gaoxiang12/p/5560360.html 7. 小结 卡尔曼滤波是递 ...

  4. C++教程详解

    第一篇:基础篇 简介.环境配置.基本语法.注释.数据类型.变量类型.变量作用域.常量.修饰符类型. 存储类.运算符.循环.判断.函数.数字.数组.字符串.指针.引用.日期&时间. 基本的输入输 ...

  5. Educational Codeforces Round 76 (Rated for Div. 2) D. Yet Another Monster Killing Problem 贪心

    D. Yet Another Monster Killing Problem You play a computer game. In this game, you lead a party of

  6. 基于UDP协议的socket套接字编程

    目录 一.UDP套接字简单示例 1.1 服务端 二.客户端 三.UPD套接字无粘包问题 3.1 服务端 3.2 客户端 四.qq聊天 4.1 服务端 4.2 客户端1 4.3 客户端2 4.4 运行结 ...

  7. ASP.NET Core 获取主机名时的 "Decoded string is not a valid IDN name" 错误

    在 ASP.NET Core 中通过 Request.Host.Host 获取主机名(hostname)时,如果主机名中包含非 ASCII 字符(比如 puny code),就会引发下面的异常: Sy ...

  8. golang数据结构之插入排序

    //InsertSort 插入排序 func InsertSort(arr *[]int) { ; i < len(arr); i++ { insertVal := (*arr)[i] inse ...

  9. 【STM32H7教程】第30章 STM32H7的USART应用之八个串口FIFO实现

    完整教程下载地址:http://www.armbbs.cn/forum.php?mod=viewthread&tid=86980 第30章       STM32H7的USART应用之八个串口 ...

  10. ImportError: unable to find Qt5Core.dll on PATH

    一.实验环境 1.Windows7x32_SP1 2.python3.7.4 3.pyinstaller3.5 二.问题描述 1.一直都是在Windows10x64上使用pyinstaller打包ex ...