话不多说,开搞,基础是先使用自带loggin模块,level为warning以上,

进一步是自定义logger,level可自定义

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2018/6/25 21:09
# @Author : Mr.chen
# @Site :
# @File : class_06_23_log_001.py
# @Software: PyCharm
# @Email : 794281961@qq.com import logging, os # 日志分为几个级别? 5个
# debug(调试信息) info(详细信息) warning(警告信息) error(错误信息) critical(致命的严重的错误) # :1 日志收集器 logger --->日志收集器(默认只收集warning级别以上的信息)
# :2 输出渠道 console file
# :3 创建自己的日志收集器,Logger,专门收集debug与info信息
'''
logging.debug('loging_model_debug信息')
logging.info('loging_model_info信息')
logging.warning('loging_model_warning信息')
logging.error('loging_model_error信息')
logging.critical('loging_model_critical信息')
# ps:因为Logging默认输出的level为warning以上的信息才能输出,所以这样的需求是不满足我们的,So,我们要自定义log
''' class MyLog:
# log流程:先收集日志--->后输出渠道
# 第一:规范日志格式
def my_log(self, name, level, log_path=(os.path.dirname(__file__)) + ('\\test_log.txt')):
formatter = logging.Formatter('【%(asctime)s】-【%(levelname)s】-【%(filename)s-%(name)s】-【日志信息】:%(message)s')
# 第二:创建自己的日志收集器,Logger,专门收集debug与info信息
# name, level=NOTSET,如果level不设置的话,默认为warning级别,命名的时候要大写
logger = logging.Logger(name, level)
# logger.debug('这是个调试信息......')
# logger.info('这是个详细信息')
# logger.warning('这是个警告信息......')
# logger.error('这是个错误信息...........')
# logger.critical('这是个致命且严重的错误......') # # 第三:创建输出渠道,warning级别以上的信息,输出到控制台
ch = logging.StreamHandler() # 输出到控制台
ch.setLevel(level)
logger.addHandler(ch)
ch.setFormatter(formatter) # 第三:也可以,Logger,输入到文件中
fh = logging.FileHandler(log_path, encoding='UTF-8') # 输出到文件里
fh.setLevel(level)
fh.setFormatter(formatter)
logger.addHandler(fh)
logger.addHandler(ch)
ch.setFormatter(formatter)
return logger if __name__ == '__main__':
logger = MyLog().my_log('mr.chen', 'DEBUG')
logger.debug('这是个调试信息......')
logger.info('这是个详细信息')
logger.warning('这是个警告信息......')
logger.error('这是个错误信息...........')
logger.critical('这是个致命且严重的错误......')

人生苦短_我用Python_logging日志操作_011的更多相关文章

  1. mysql 查看 删除 日志操作总结(包括单独和主从mysql)

    我们可以在mysql的安装目录下看到mysql的二进制日志文件,如mysql-bin.000***等,很多人都不及时的处理,导致整个硬盘被塞满也是有可能的.这些是数据库的操作日志.它记录了我们平时使用 ...

  2. SQL Server 最小化日志操作解析,应用

    Sql Server 中数据库在BULK_LOGGED/SIMPLE模式下的一些操作会采用最小化日志的记录方式,以减小tran log落盘日志量从而提高整体性能. 这里我简单介绍下哪些操作在什么样的情 ...

  3. 使用Log4j进行日志操作

    使用Log4j进行日志操作 一.Log4j简介 (1)概述 Log4j是Apache的一个开放源代码项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台.文件.GUI组件.甚至是套接字服 ...

  4. SQL Server 最小化日志操作解析,应用[手稿]

    Sql Server 中数据库在BULK_LOGGED/SIMPLE模式下的一些操作会采用最小化日志的记录方式,以减小tran log落盘日志量从而提高整体性能. 这里我简单介绍下哪些操作在什么样的情 ...

  5. xBIM 日志操作

    目录 xBIM 应用与学习 (一) xBIM 应用与学习 (二) xBIM 基本的模型操作 xBIM 日志操作 XBIM 3D 墙壁案例 xBIM 格式之间转换 xBIM 使用Linq 来优化查询 x ...

  6. python中的日志操作和发送邮件

    1.python中的日志操作 安装log模块:pip install nnlog 参数:my_log = nnlog.Logger('server_log.log',level='debug',bac ...

  7. 从零开始的Python学习Episode 14——日志操作

    日志操作 一.logging模块 %(message)s 日志信息 %(levelno)s 日志级别 datefmt 设置时间格式 filename 设置日志保存的路径 level 设置日志记录的级别 ...

  8. Java 使用Log4J进行日志操作

    使用Log4J进行日志操作   Log4J简介   Log4J是Apache的一个开放源代码项目,它是一个日志操作包,通过使用Log4J,可以指定日志信息输出的目的地,如控制台.文件.CUI组件.NT ...

  9. Python之日志操作(logging)

    import logging   1.自定义日志级别,日志格式,输出位置 logging.basicConfig( level=logging.DEBUG, format='%(asctime)s | ...

随机推荐

  1. flutter中的表单使用

    Flutter 中常见的表单有 TextField 单行文本框,TextField 多行文本框.CheckBox.Radio.Switch.CheckboxListTile.RadioListTile ...

  2. git错误处理

    1.今天 当我  执行  git add  somefile 的时候,出现 如下 错误: If no other git process is currently running, this prob ...

  3. js/jq 小功能函数

    1.点击复制内容到剪贴板 function copyToClip(str) { var save = function(e) { e.clipboardData.setData('text/plain ...

  4. java后端发送请求并获取响应

    URL wsUrl = new URL(url); HttpURLConnection conn = (HttpURLConnection) wsUrl.openConnection(); conn. ...

  5. day04—JavaScript之面向对象

    转行学开发,代码100天——2018-03-20 对象是变量的容器,是键值对的容器,也是属性和方法的容器. 万物接对象 1.JavaScript中对象定义的方式 方法一:new Object() // ...

  6. poj1742Coins(多重背包)

    People in Silverland use coins.They have coins of value A1,A2,A3...An Silverland dollar.One day Tony ...

  7. Activation Functions and Their Derivatives

    1. Sigmoid Function: when z=0,g'(z)=0.25 2. tanh Function: when x=0,tanh'(x)=1 3. Relu

  8. Linux多线程服务器端编程

    目录 Linux多线程服务器端编程 线程安全的对象生命期管理 对象的销毁线程比较难 线程同步精要 借shared_ptr实现写时拷贝(copy-on-write) 多线程服务器的适用场合与常用编程模型 ...

  9. JavaScript List

    function List() {    this.listSize = 0;    this.pos = 0;    this.dataSource = [];    this.clear = fu ...

  10. CSS实现背景图片屏幕自适应

    在做登陆页面等的首页的时候,经常会遇到需要放一张背景大图的情况,并且需要图片按比例缩放,来适应不同屏幕的大小. html代码如下: <!DOCTYPE html> <html lan ...