python logging日志模块原理及操作解析
一、基本介绍
logging 模块是python自带的一个包,因此在使用的时候,不必安装,只需要import即可。
logging有 5 个不同层次的日志级别,可以将给定的 logger 配置为这些级别:
- DEBUG:详细信息,用于诊断问题。Value=10。
- INFO:确认代码运行正常。Value=20。
- WARNING:意想不到的事情发生了,或预示着某个问题。但软件仍按预期运行。Value=30。
- ERROR:出现更严重的问题,软件无法执行某些功能。Value=40。
- CRITICAL:严重错误,程序本身可能无法继续运行。Value=50。
二、基本操作
主要调用logging.basicConfig(***kwargs*)这个函数对logging进行设置。函数常用的参数如下:
- level:主要调整logging的级别
- filename:输出日志的路径
- filemode:直接写入还是追加写入
- format:输出的格式
示例一:通过调整format,可以输出我们想要的格式
import logging logging.basicConfig(format='%(asctime)s - %(message)s', datefmt='%d-%b-%y %H:%M:%S') logging.warning('Admin logged out')
结果:
12-Jul-18 20:53:19 - Admin logged out
示例二:logging写多文件日志
#!/usr/bin/env python # -*- coding:utf-8 -*- """ logging模块写多文件日志 """ import logging #创建文件 file_1 = logging.FileHandler('log_1.log', 'a') #创建格式 fat = logging.Formatter(fmt="%(asctime)s - %(name)s - %(levelname)s - %(module)s - %(message)s") #文件应用格式 file_1.setFormatter(fat) file_2 = logging.FileHandler('log_2.log', 'a') fmt = logging.Formatter() file_2.setFormatter(fmt) logger1 = logging.Logger('s1', level=logging.ERROR) logger1.addHandler(file_1) logger1.addHandler(file_2) #写日志 logger1.critical("i'm a error!")
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。
相关推荐
-
Python中内置的日志模块logging用法详解
logging模块简介 Python的logging模块提供了通用的日志系统,可以方便第三方模块或者是应用使用.这个模块提供不同的日志级别,并可以采用不同的方式记录日志,比如文件,HTTP GET/POST,SMTP,Socket等,甚至可以自己实现具体的日志记录方式. logging模块与log4j的机制是一样的,只是具体的实现细节不同.模块提供logger,handler,filter,formatter. logger:提供日志接口,供应用代码使用.logger最长用的操作有两类:配置和发
-
python中日志logging模块的性能及多进程详解
前言 Java 中最通用的日志模块莫过于 Log4j 了,在 python 中,也自带了 logging 模块,该模块的用法其实和 Log4j 类似.日志是记录操作的一种好方式.但是日志,基本都是基于文件的,也就是要写到磁盘上的.这时候,磁盘将会成为一个性能瓶颈.对于普通的服务器硬盘(机械磁盘,非固态硬盘),Python日志的性能瓶颈是多少呢?今天我们就来测一下.下面话不多说,来一起看看详细的介绍: 测试代码如下: #! /usr/bin/env python #coding=utf-8 # =
-
python logging模块书写日志以及日志分割详解
本文范例是书写两个日志:错误日志(ERROR级别)和运行日志(DEBUG级别),其中运行日志每日凌晨进行分割 import logging,datetime,logging.handlers from conf import settings if __name__ == "__main__": #两个日志,错误日志和运行日志,输出文件路径及文件名 error_log = settings.ERROR_LOG_FILE run_log = settings.RUN_LOG_FILE l
-
Python3.6日志Logging模块简单用法示例
本文实例讲述了Python3.6日志Logging模块简单用法.分享给大家供大家参考,具体如下: Logging是一个很方便的模块,用来打印日志 我直接列出一个最灵活的方法 # -*- coding:utf-8 -*- #!python3 import logging logger = logging.getLogger() # logging对象 fh = logging.FileHandler("test.log") # 文件对象 sh = logging.StreamHandle
-
Python中使用logging和traceback模块记录日志和跟踪异常
logging模块 logging模块用于输出运行日志,可以设置不同的日志等级,保存信息到日志文件中等. 相比print,logging可以设置日志的等级,控制在发布版本中的输出内容,并且可以指定日志的输出格式. 1. 使用logging在终端输出日志 #!/usr/bin/env python # -*- coding:utf-8 -*- import logging # 引入logging模块 # 设置打印日志级别 CRITICAL > ERROR > WARNING > INFO
-
Python中使用logging模块打印log日志详解
学一门新技术或者新语言,我们都要首先学会如何去适应这们新技术,其中在适应过程中,我们必须得学习如何调试程序并打出相应的log信息来,正所谓"只要log打的好,没有bug解不了",在我们熟知的一些信息技术中,log4xxx系列以及开发Android app时的android.util.Log包等等都是为了开发者更好的得到log信息服务的.在Python这门语言中,我们同样可以根据自己的程序需要打出log. log信息不同于使用打桩法打印一定的标记信息,log可以根据程序需要而分出不同的l
-
python标准日志模块logging的使用方法
最近写一个爬虫系统,需要用到python的日志记录模块,于是便学习了一下.python的标准库里的日志系统从Python2.3开始支持.只要import logging这个模块即可使用.如果你想开发一个日志系统, 既要把日志输出到控制台, 还要写入日志文件,只要这样使用: 复制代码 代码如下: import logging# 创建一个loggerlogger = logging.getLogger('mylogger')logger.setLevel(logging.DEBUG)# 创建一个ha
-
python logging日志模块的详解
python logging日志模块的详解 日志级别 日志一共分成5个等级,从低到高分别是:DEBUG INFO WARNING ERROR CRITICAL. DEBUG:详细的信息,通常只出现在诊断问题上 INFO:确认一切按预期运行 WARNING:一个迹象表明,一些意想不到的事情发生了,或表明一些问题在不久的将来(例如.磁盘空间低").这个软件还能按预期工作. ERROR:更严重的问题,软件没能执行一些功能 CRITICAL:一个严重的错误,这表明程序本身可能无法继续运行 这5个等级,也
-
python logging日志模块原理及操作解析
一.基本介绍 logging 模块是python自带的一个包,因此在使用的时候,不必安装,只需要import即可. logging有 5 个不同层次的日志级别,可以将给定的 logger 配置为这些级别: DEBUG:详细信息,用于诊断问题.Value=10. INFO:确认代码运行正常.Value=20. WARNING:意想不到的事情发生了,或预示着某个问题.但软件仍按预期运行.Value=30. ERROR:出现更严重的问题,软件无法执行某些功能.Value=40. CRITICAL:严重
-
Python logging日志模块 配置文件方式
在一些微服务或web服务中我们难免需要日志功能,用来记录一些用户的登录记录,操作记录,以及一些程序的崩溃定位,执行访问定位等等; Python内置 非常强大的日志模块 ==> logging 今天给大家分享一下以配置文件形式进行配置log日志 ; Centos6.7 Python3.6 logging0.5.1.2 logging模块有三个比较重要的功能组件: 1.loggers 配置文件可定义一些输出日志的appname 2.handler 过滤器,比如设置日志的分隔大小,输出位置,日志文件创
-
详解 python logging日志模块
目录 1.日志简介 2.日志级别 3.修改日志级别 4.日志记录到文件 5.指定日志格式 6.记录器(logger) 7.处理器(Handler) 8.处理器操作 9.格式器(formatter) 10.logging.basicConfig 11.日志配置 转自微信公众号: Python之禅 1.日志简介 说到日志,无论是写框架代码还是业务代码,都离不开日志的记录,他能给我们定位问题带来极大的帮助. 记录日志最简单的方法就是在你想要记录的地方加上一句 print , 我相信无论是新手还是老鸟都
-
详解 python logging日志模块
目录 1.日志简介 2.日志级别 3.修改日志级别 4.日志记录到文件 5.指定日志格式 6.记录器(logger) 7.处理器(Handler) 8.处理器操作 9.格式器(formatter) 10.logging.basicConfig 11.日志配置 转自微信公众号: Python之禅 1.日志简介 说到日志,无论是写框架代码还是业务代码,都离不开日志的记录,他能给我们定位问题带来极大的帮助. 记录日志最简单的方法就是在你想要记录的地方加上一句 print , 我相信无论是新手还是老鸟都
-
python logging日志模块以及多进程日志详解
本篇文章主要对 python logging 的介绍加深理解.更主要是 讨论在多进程环境下如何使用logging 来输出日志, 如何安全地切分日志文件. 1. logging日志模块介绍 python的logging模块提供了灵活的标准模块,使得任何Python程序都可以使用这个第三方模块来实现日志记录.python logging 官方文档 logging框架中主要由四个部分组成: Loggers: 可供程序直接调用的接口 Handlers: 决定将日志记录分配至正确的目的地 Filters:
-
Python openpyxl模块原理及用法解析
这篇文章主要介绍了Python openpyxl模块原理及用法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 此模块不是Python内置的模块需要安装,安装方法如下 pip install openpyxl 注意: 此模块只支持offce 2010,即是电子表格后缀是*.xlsx 1.openpyxl模块常用函数 import openpyxl wb = openpyxl.load_workbook('example.xlsx') ####
-
如何理解python接口自动化之logging日志模块
一.logging模块介绍 前言:我们之前运行代码时都是将日志直接输出到控制台,而实际项目中常常需要把日志存储到文件,便于查阅,如运行时间.描述信息以及错误或者异常发生时候的特定上下文信息. Python中自带的logging模块提供了标准的日志接口,在debug时使用往往会事半功倍.为什么不直接使用print去输出呢?这种方式对简单的脚本来说有用,对于复杂的系统来说相当于一个花瓶摆设,大量的print输出很容易被遗忘在代码里,并且print是标准输出,这很难从一堆信息里去判断哪些是你需要重
-
详解python logging日志传输
1.生成日志并通过http传输出去(通过HTTPHandler方式): #生成并发送日志 import logging from logging.handlers import HTTPHandler import logging.config def save(): logger = logging.getLogger(__name__) # 生成一个log实例,如果括号为空则返回root logger hh = HTTPHandler(host='127.0.0.1:5000', url='
-
python logging 日志轮转文件不删除问题的解决方法
前言 最近在维护项目的python项目代码,项目使用了 python 的日志模块 logging, 设定了保存的日志数目, 不过没有生效,还要通过contab定时清理数据. 分析 项目使用了 logging 的 TimedRotatingFileHandler : #!/user/bin/env python # -*- coding: utf-8 -*- import logging from logging.handlers import TimedRotatingFileHandler l
随机推荐
- autoit HotKeySet 函数
- 关于Apache shiro实现一个账户同一时刻只有一个人登录(shiro 单点登录)
- Android Studio获取网络JSON数据并处理的方法
- iOS启动页倒计时跳过按钮功能
- Http 1.1 Etag 与 Last-Modified提高php效率
- PHP无限分类代码,支持数组格式化、直接输出菜单两种方式
- PHP实现指定字段的多维数组排序函数分享
- php中将网址转换为超链接的函数
- 让mayfish支持mysqli数据库驱动的实现方法
- 在windows下的安装Docker的教程
- Android实现GPS定位代码实例
- mysql 中存在null和空时创建唯一索引的方法
- xtemplate node.js 的使用方法实例解析
- 纯C语言:分治假币问题源码分享
- java中List、Array、Map、Set等集合相互转换
- PHP开发框架laravel安装与配置教程
- 轻松理解JavaScript之AJAX
- Winform学生信息管理系统各子窗体剖析(3)
- MyBatis中#{}和${}的区别详解
- C# ListView 点击表头对数据进行排序功能的实现代码