话不多说,开搞,基础是先使用自带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. Swap——hdu 2819

    Swap Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submis ...

  2. 笨办法学Python(learn python the hard way)--练习程序39-40

    下面是练习39-练习40,基于python3 #ex39.py 1 ten_things = "Apples Oranges Crows Telephone Light Sugar" ...

  3. Skyline(6.x)-二次开发手册使用技巧

    毕业设计选择 Skyline 的 Web 端二次开发,由于以前没有接触过 ActiveX 控件的使用,二次开发手册是英文的读起来有点吃力,并且 IE 直接控制台输出 ActiveX 控件创建的对象看不 ...

  4. Java常用工具——java异常

    package com.imooc.exception; import java.util.Scanner; public class TryCatchDemo1 { public static vo ...

  5. PHP防采集方法代码

    <?php /** * FileName:test.php * Summary: 防采集 */ $HTTP_REFERER = $_SERVER["HTTP_REFERER" ...

  6. memcpy不能复制内存重叠区域,memmove可以拷贝重叠内存

    http://blog.csdn.net/li_ning_/article/details/51418400 下面s和s2指向的内存区域有重叠,memcpy不能正确复制,src赋值给dst时,可能会修 ...

  7. Visual Studio Code配置技巧

    Visual Studio Code配置技巧 VS Code是啥 Visual Studio Code(以下简称 VS Code) 是一个免费.开源.跨平台的由微软开发的程序编辑器.它是用 TypeS ...

  8. JSP基础--九大内置对象

    JSP九大内置对象 Object findAttribute(String name):依次在page.request.session.application范围查找名称为name的数据,如果找到就停 ...

  9. C#=> 栈模仿堆的操作

    //原理,利用两个栈,互相作用,来模仿堆的效果,先进先出.. using System; using System.Collections.Generic; using System.Linq; us ...

  10. git统计提交次数

    git log --since="Oct 27 9:16:10 2017 +0800"  --pretty=oneline | wc -l