Logging模块总结 2018/5/30
日志的级别
| Level | 用处 | 数字级别 |
|---|---|---|
| DEBUG | 详细的信息,在调试过程中用于诊断错误 | 10 |
| INFO | 用于确认事件正在运行 | 20 |
| WARNING | 意外发生时予以提醒,或者预测一些未来可能发生的一些问题(比如:磁盘空间低等) | 30 |
| ERROR | 当一些错误发生,导致软件无法正常完成一些功能时 | 40 |
| CRITICAL | 严重的错误发生,表明程序本身无法继续运行 | 50 |
如果不设置日志的级别,电脑则会选择使用默认的级别进行过滤信息:
全局默认级别:WARNING;
屏幕显示级别:DEBUG;
文件显示级别:WARNING。
定义日志的格式
| %(name)s | Logger的名字 |
|---|---|
| %(levelno)s | 数字形式的日志级别 |
| %(levelname)s | 文本形式的日志级别 |
| %(pathname)s | 调用日志输出函数的模块的完整路径名,可能没有 |
| %(filename)s | 调用日志输出函数的模块的文件名 |
| %(module)s | 调用日志输出函数的模块名 |
| filename&module区别 | 文件名有.py,模块名则没有 |
| %(funcName)s | 调用日志输出函数的函数名 |
| %(lineno)d | 调用日志输出函数的语句所在的代码行 |
| %(created)f | 当前时间,用UNIX标准的表示时间的浮 点数表示 |
| %(relativeCreated)d | 输出日志信息时的,自Logger创建以 来的毫秒数 |
| %(asctime)s | 字符串形式的当前时间。默认格式是 “2003-07-08 16:49:45,896”。逗号后面的是毫秒 |
| %(thread)d | 线程ID。可能没有 |
| %(threadName)s | 线程名。可能没有 |
| %(process)d | 进程ID。可能没有 |
| %(message)s | 用户输出的消息 |
最简单的方法:
- import logging模块;
写logging.语句;
运行结果:

将日志写到文件中:
和最简单的方式不同的地方就是:在写入过程中加入了logging.basicConfig语句(在这里面可以添加各种日志的格式,比如,写入文件,路径名,时间等等)
创建记录日志的文件,命名为example.log;

import logging模块,写基本配置.basicConfig;
{{LOGGING-03.gif(uploading...)}}只有当logging的级别高于基本配置里面的级别的时候,语句才能被写入到日志当中;
如果在basicConfig里面没有指明level级别,那默认级别就是WARNING;
同时在屏幕和文件中写入日志:
- Logger部分:
1.1 生成logger对象:LOG = getLogger('给日志起的名字~')
1.2 指定日志级别:LOG.setLevel(logging.DEBUG/INFO/WARNING/...)(即为全局级别,可以不设置)
1.3 增加/删除指定的Handler:Logger.addHandler(hdlr),removeHandler(hdlr)
------------------- Handler部分:(本次仅记录logging.StreamHandler,logging.FileHandler)
2.1 生成Handler对象:
向屏幕输出 screen_han = logging.StreamHandler()
设置Handler级别:screen_han.setLevel(logging.DEBUG/INFO/WARNING/...)
向文件输出 file_han = logging.FileHandler();
设置Handler级别:file_han.setLevel(logging.DEBUG/INFO/WARNING/...)
----------------- formatter组件
3.1 设置formatter:formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s ......')(在其中添加日志格式,获取想要的相应的内容)
3.2 添加formatter组件:需要加配置的变量名.setFormatter(设置的formatter名字)
Logging模块总结 2018/5/30的更多相关文章
- s14 第5天 时间模块 随机模块 String模块 shutil模块(文件操作) 文件压缩(zipfile和tarfile)shelve模块 XML模块 ConfigParser配置文件操作模块 hashlib散列模块 Subprocess模块(调用shell) logging模块 正则表达式模块 r字符串和转译
时间模块 time datatime time.clock(2.7) time.process_time(3.3) 测量处理器运算时间,不包括sleep时间 time.altzone 返回与UTC时间 ...
- Python之路(第十七篇)logging模块
一.logging模块 (一).日志相关概念 日志是一种可以追踪某些软件运行时所发生事件的方法.软件开发人员可以向他们的代码中调用日志记录相关的方法来表明发生了某些事情.一个事件可以用一个可包含可选变 ...
- subprocess模块和logging模块
主要内容: 一.subprocess模块 二.logging模块 1️⃣ subprocess模块 三种执行命令的方法 subprocess.run(*popenargs, input=None, ...
- 08 datetime与logging模块(进阶)
datetime与logging模块 阶段一:日期与时间 1.datetime 模块中 主要类: 类名 功能说明 date 日期对象,常用的属性有year, month, day time 时间对象h ...
- Python中logging模块的基本用法
在 PyCon 2018 上,Mario Corchero 介绍了在开发过程中如何更方便轻松地记录日志的流程. 整个演讲的内容包括: 为什么日志记录非常重要 日志记录的流程是怎样的 怎样来进行日志记录 ...
- logging模块基础
很多程序都有记录日志的需求,日志不仅可以保存访问记录,也可以有错误,警告等信息输出. python的logging模块提供了标准的日志接口,可以通过logging存储各种格式的日志.logging模块 ...
- Python Logging模块的简单使用
前言 日志是非常重要的,最近有接触到这个,所以系统的看一下Python这个模块的用法.本文即为Logging模块的用法简介,主要参考文章为Python官方文档,链接见参考列表. 另外,Python的H ...
- Python中的logging模块
http://python.jobbole.com/86887/ 最近修改了项目里的logging相关功能,用到了python标准库里的logging模块,在此做一些记录.主要是从官方文档和stack ...
- 【python,logging】python中的logging模块
本文章转自kenby的博客,比较全面易懂,转来留作以后使用. http://kenby.iteye.com/blog/1162698 一.从一个使用场景开始 import logging # 创建一个 ...
随机推荐
- springboot 填坑一 springboot java.sql.SQLException: Access denied for user ''@'localhost' (using password: NO)
这里有个很不明显的错误 初次搭建很容易犯这个错
- JavaScript年月日和时间戳互转
/** 一丶将日期单位转为时间戳 / 毫秒 **/ var str="2017年06月2日" var time = str.replace(/年/i,"-"). ...
- Django的MultipleChoiceField处理小技巧
1.如果遇到多选择的,在收到数据时一般需要做处理 tag_id = fields.MultipleChoiceField( choices=[], widget=widgets.CheckboxSel ...
- filter异常捕捉
jsp中抛出一个异常 <% String action = request.getParameter("action"); if ("accountExceptio ...
- angular-ui-bootstrap弹出框的使用(一)
在开发项目时,我们经常性的会遇到弹出框的需求,例如登陆,注册,添加信息等等....面对这一需求,我们当然也可以使用自己的双手进行编写,如果你时间充足可以试试. 今天我们讲解一下如何在angular框架 ...
- 一篇文章学LINQ(原创)
本篇文章主要介绍linq的基本用法,采用sql和linq比较的方式由浅入深进行学习, 注意:此文章是根据真实表来进行案例说明,表结构如下: 表1: Student(学生表) ...
- Linux proc_mkdir和proc_create的用法
//功能:在proc中创建一个文件夹 //参数1:创建的文件夹名称 //参数2:创建的文件夹路径,就是在哪个文件夹中创建,如果是proc根目录,此参数为NULL //返回值:创建的文件夹路径 stru ...
- excel打开csv 出现乱码怎么解决
CSV是逗号分隔值的英文缩写,通常都是纯文本文件.CSV格式是分隔的数据格式,有字段/列分隔的逗号字符和记录/行分隔换行符.通常CSV文件可以用EXCEL正常打开,但是许多人都有这样的经历,使用EXC ...
- ROS HTB限速失败原因分析和需注意事项
要想做限速,必须要知道以下几点: 首先要知道自己要限制什么的速度,谁的速度,于是需要用的标记,即Mangle. 其次要知道怎么限速,是限制上传,还是下载? 最后要知道所做的限速是否成功,即需要知道如何 ...
- limesurvey的问卷类型
