人生苦短_我用Python_logging日志操作_011
话不多说,开搞,基础是先使用自带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的更多相关文章
- mysql 查看 删除 日志操作总结(包括单独和主从mysql)
我们可以在mysql的安装目录下看到mysql的二进制日志文件,如mysql-bin.000***等,很多人都不及时的处理,导致整个硬盘被塞满也是有可能的.这些是数据库的操作日志.它记录了我们平时使用 ...
- SQL Server 最小化日志操作解析,应用
Sql Server 中数据库在BULK_LOGGED/SIMPLE模式下的一些操作会采用最小化日志的记录方式,以减小tran log落盘日志量从而提高整体性能. 这里我简单介绍下哪些操作在什么样的情 ...
- 使用Log4j进行日志操作
使用Log4j进行日志操作 一.Log4j简介 (1)概述 Log4j是Apache的一个开放源代码项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台.文件.GUI组件.甚至是套接字服 ...
- SQL Server 最小化日志操作解析,应用[手稿]
Sql Server 中数据库在BULK_LOGGED/SIMPLE模式下的一些操作会采用最小化日志的记录方式,以减小tran log落盘日志量从而提高整体性能. 这里我简单介绍下哪些操作在什么样的情 ...
- xBIM 日志操作
目录 xBIM 应用与学习 (一) xBIM 应用与学习 (二) xBIM 基本的模型操作 xBIM 日志操作 XBIM 3D 墙壁案例 xBIM 格式之间转换 xBIM 使用Linq 来优化查询 x ...
- python中的日志操作和发送邮件
1.python中的日志操作 安装log模块:pip install nnlog 参数:my_log = nnlog.Logger('server_log.log',level='debug',bac ...
- 从零开始的Python学习Episode 14——日志操作
日志操作 一.logging模块 %(message)s 日志信息 %(levelno)s 日志级别 datefmt 设置时间格式 filename 设置日志保存的路径 level 设置日志记录的级别 ...
- Java 使用Log4J进行日志操作
使用Log4J进行日志操作 Log4J简介 Log4J是Apache的一个开放源代码项目,它是一个日志操作包,通过使用Log4J,可以指定日志信息输出的目的地,如控制台.文件.CUI组件.NT ...
- Python之日志操作(logging)
import logging 1.自定义日志级别,日志格式,输出位置 logging.basicConfig( level=logging.DEBUG, format='%(asctime)s | ...
随机推荐
- java 简单指令说明
javac:Java编译器,Java程序的编译工具,用来将Java程序的源文件编译成字节码文件,也就是.class文件.java:Java解释器,解释和执行已经转换成字节码的Java应用程序.jdb: ...
- C# 图片剪切与缩小的实例
public void CutToF(Stream stream) { Image initImage = Image.FromStream(stream, true); && ini ...
- centos7systemctl介绍
Linux中如何启动.重启.停止.重载服务以及检查服务(如 httpd.service)状态 # systemctl start httpd.service # systemctl restart ...
- Python 数字系列-数字格式化输出
数字的格式化输出 问题 你需要将数字格式化后输出,并控制数字的位数.对齐.千位分隔符和其他的细节. 解决方案 格式化输出单个数字的时候,可以使用内置的 format() 函数,比如: >> ...
- ElasticSearch ClusterBlockException[blocked by: [FORBIDDEN/12/index read-only / allow delete (api)]锁定状态,无法插入数据
PUT /twitter/_settings { "index.blocks.read_only_allow_delete": null } 官网给出的解决办法
- vue对组件以数组方式赋值的问题
当从后台直接调接口返回数据 直接将数组array赋值给定义的变量,会导致组件无法更改其它值,例如多选框,多选下拉框,会导致无法选中其它的值,也无法取消当前已赋值的选中项 data() { return ...
- vcsa6.5安装部署配置(vSphere vsan 6.5)
首先您最好先了解下vcenter和vcsa是啥:VMware Vsphere 几个不同的组件 esxi是在物理服务器安装的服务端,所有虚拟机是安装再esxi里面的,是服务端:vcenter是管理端 是 ...
- springboot jpa 级联操作及测试问题 (@Transactional与@Test)
前言:测试springboot版本 :springBootVersion = '2.0.5.RELEASE' 一 :搬运@Transactional B. 如果加了事务,必须做好开发环境测试( ...
- 【报错】Validation failed for object='userLogin'. Error count: 1
提交表单之后: Whitelabel Error Page This application has no explicit mapping for /error, so you are seeing ...
- php优化方法
代码优化是开发程序和网站必不可少的一步,代码优化好了,可以大大增加程序的运行效率.使网站或程序加载反应更快.用户体验也就会更好.下面就为大家总结了50条PHP代码优化技巧. 1. 用单引号代替双引号来 ...