话不多说,开搞,基础是先使用自带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. 基于MyBatis实现Dao编程

    基于MyBatis实现Dao编程 1.建立mybatis-config.xml文件 <?xml version="1.0" encoding="UTF-8" ...

  2. layoutSubviews 详解

    ios layout机制相关方法 - (CGSize)sizeThatFits:(CGSize)size - (void)sizeToFit ------- - (void)layoutSubview ...

  3. ANTLR4的IntelliJ IDEA配置

    1.配置的先导工作 jdk配置 IntelliJ IDEA安装配置 配置好ANTLR的java运行时环境,参考 2.下载intellij-plugin-v4.zip 下载地址 3.插件安装 4.测试安 ...

  4. NuGet-Doc:NuGet.Server

    ylbtech-NuGet-Doc:NuGet.Server 1.返回顶部 1. NuGet.Server 2018/03/13 NuGet.Server 是由 .NET Foundation 提供的 ...

  5. jQuery基础--选择器

    2. 选择器 2.1. 什么是jQuery选择器 jQuery选择器是jQuery为我们提供的一组方法,让我们更加方便的获取到页面中的元素.注意:jQuery选择器返回的是jQuery对象. jQue ...

  6. ELK日志分析系统之logstash7.x最新版安装与配置

    2 .Logstash的简介 2.1 logstash 介绍 LogStash由JRuby语言编写,基于消息(message-based)的简单架构,并运行在Java虚拟机(JVM)上.不同于分离的代 ...

  7. 《JAVA设计模式》之单例模式(Singleton)

    在阎宏博士的<JAVA与模式>一书中开头是这样描述单例模式的: 作为对象的创建模式,单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例.这个类称为单例类. 单例模式的 ...

  8. Linux访问一个url

    命令一:wget(直接把url的内容下载下来) [root@localhost ~]# wget www.baidu.com--2018-06-16 21:23:49-- http://www.bai ...

  9. 攻防世界--python-trade

    测试文件:https://adworld.xctf.org.cn/media/task/attachments/69c8f29912ae4f679d92a6cd36c33196.pyc 这里需要用到一 ...

  10. vue项目一个页面使用多个轮播图详解

    1.html代码: <div v-for="(item,index) in arrDataList.Floor"> // 根据后台数据循环渲染多个轮播图组件 <d ...