常见模块(二) logging模块
logging模块是专门做日志系统的.分为函数版和自定义函数.
(一)logging模块初级版
缺点,不能指定字符集,不能把屏幕输出和文件日志同时记录。只能选择其一。
文件记录日志
import logging logging.basicConfig(
level = 30,
filename = "logger.log",
filemode = "a",
format = '%(asctime)s-%(name)s-%(lineno)d-%(message)s', ) logging.warning("这是一个警告")
logging.error("这是一个错误")
logging.critical("这是一个严重错误")
屏幕输出日志
import logging logging.basicConfig(
level = 30,
#filename = "logger.log",
filemode = "a",
format = '%(asctime)s-%(name)s-%(lineno)d-%(message)s', ) logging.warning("这是一个警告")
logging.error("这是一个错误")
logging.critical("这是一个严重错误")
(二)logging模块中自定义日志系统
import logging
logger = logging.getLogger() # 自定义一个模块系统
Formatter = logging.Formatter('%(asctime)s-%(name)s-%(lineno)d-%(message)s') # 定义日志输出格式
ft = logging.FileHandler("logger.log", "a", encoding="utf-8") # 定义文件流
st = logging.StreamHandler() # 定义屏幕流
ft.setFormatter(Formatter) # 将格式加载到文件流中
st.setFormatter(Formatter) # 将格式加载到屏幕流中
logger.addHandler(ft) # 将文件流加载到自定义的loger日志系统中
logger.addHandler(st) # 将屏幕流加载到自定义的loger日志系统中
logger.debug("这是一个debug")
logger.info("这是一个info")
logger.warning("这是一个warning")
logger.error("这是一个error")
logger.critical("这是一个critical") logger.removeHandler(ft) # 将Handler移除,避免下次调用,生成同样的Handler导致重复日志,Eg:第一次输出日志一行,第二次输出同样的两行日志(因为又生成了一个Handler)
# 第三次输出同样的三行日志
常用方法:
import logging ft = logging.FileHandler("logger.log", "a", encoding="utf-8") # 定义文件流
Formatter = logging.Formatter('%(asctime)s Username:%(name)s message-%(message)s',datefmt='%Y:%m:%d') # 定义日志输出格式
ft.setFormatter(Formatter) # 将格式加载到文件流中 logger = logging.Logger(name='a',level=logging.DEBUG) # 自定义一个模块系统
logger.addHandler(ft) # 将文件流加载到自定义的loger日志系统中
常见模块(二) logging模块的更多相关文章
- 常用模块:os模块,logging模块等
一 os模块 那么作为一个常用模块,os模块是与操作系统交互的一个模块. 那么os模块中我们常用的一般有以下几种: os.listdir('dirname') 以列表的形式列出指定目录下的所有文 ...
- os模块,sys模块,json和pickle模块,logging模块
目录 OS模块 sys模块 json和pickle模块 序列化和反序列化 json模块 pickle logging模块 OS模块 能与操作系统交互,控制文件 / 文件夹 # 创建文件夹 import ...
- 模块讲解---os模块,sys模块,json和pickle模块,logging模块
目录 模块的用法 os模块 常用的功能 sys模块 常用的功能 json和pickle模块 4. logging模块 模块的用法 通过 import 或者from......import...... ...
- 十二 logging模块
一 日志级别 CRITICAL = 50 #FATAL = CRITICAL ERROR = 40 WARNING = 30 #WARN = WARNING INFO = 20 DEBUG = 10 ...
- 模块二 hashlib模块、configparser模块、logging模块
算法介绍 Python的hashlib提供了常见的摘要算法,如MD5,SHA1等等. 什么是摘要算法呢?摘要算法又称哈希算法.散列算法.它通过一个函数,把任意长度的数据转换为一个长度固定的数据串(通常 ...
- Python学习日记(二十八) hashlib模块、configparse模块、logging模块
hashlib模块 主要提供字符加密算法功能,如md5.sha1.sha224.sha512.sha384等,这里的加密算法称为摘要算法.什么是摘要算法?它又称为哈希算法.散列算法,它通过一个函数把任 ...
- Python模块之hashlib模块、logging模块
一.hashlib模块 hashlib模块介绍:hashlib这个模块提供了摘要算法,例如 MD5.hsa1 摘要算法又称为哈希算法,它是通过一个函数,把任意长度的数据转换为一个长度固定的数据串,这个 ...
- 《Python》hashlib模块、configparser模块、logging模块
一.hashlib模块 Python的hashlib模块中提供了常见的摘要算法,如md5,sha1等等. 摘要算法又称哈希算法.散列算法.它通过一个函数,把任意长度的数据转换为一个长度固定的字符串(通 ...
- subprocess模块和logging模块
主要内容: 一.subprocess模块 二.logging模块 1️⃣ subprocess模块 三种执行命令的方法 subprocess.run(*popenargs, input=None, ...
随机推荐
- 在WPF中调用打开文件对话框
// Create OpenFileDialog Microsoft.Win32.OpenFileDialog dlg = new Microsoft.Win32.OpenFileDialog(); ...
- OLAP多维数据库备份
本人开发了一款OLAP多维数据库备份软件,现将其贡献博客园. 链接: https://pan.baidu.com/s/1oL8xVZfSUiUcvrvohxKVoQ 提取码: nmh5 操作方式: 1 ...
- MATLAB绘图功能(2) 二维底层绘图修饰
文末源代码 部分源代码 % x=0:0.1:2*pi; % y=sin(x); % plot(x,y); % line对象 % h = line([-pi:0.01:pi],sin([-pi:0. ...
- JAVA文件操作类和文件夹的操作代码示例
JAVA文件操作类和文件夹的操作代码实例,包括读取文本文件内容, 新建目录,多级目录创建,新建文件,有编码方式的文件创建, 删除文件,删除文件夹,删除指定文件夹下所有文件, 复制单个文件,复制整个文件 ...
- Regex-Golf
A man, a plan: 判断回文,如果不确定串长度情况下可以考虑利用反向引用构造pattern,例如: (.)\1 , (.)(.)\2\1 , (.)(.)(.)\3\2\1 ...但这里只 ...
- 977. Squares of a Sorted Array有序数组的平方
网址:https://leetcode.com/problems/squares-of-a-sorted-array/ 双指针法 把左端的元素和右端的元素比较后挑出绝对值大的,将其平方放入ans中,并 ...
- Lucene全文检索入门使用
一. 什么是全文检索 全文检索是计算机程序通过扫描文章中的每一个词,对每一个词建立一个索引,指明该词在文章中出现的次数和位置.当用户查询时根据建立的索引查找,类似于通过字典的检索字表查字的过程 全文检 ...
- OSSIM安装使用教程(OSSIM-5.6.5)
一.说明 1.1 相关概念说明 SEM,security event management,安全事件管理,指对事件进行实时监控,收集信息差展生通知和告警的行为. SIM,security inform ...
- C/S与B/S的区别
C/S与B/S的区别 1.区别 1.B/S架构是针对C/S架构缺点进行改进后提出的网络结构模式. B/S结构属于C/S结构,是一种特殊的C/S,因为浏览器只是特殊的客户端. 2.C/S可以使用任何通信 ...
- 7——ThinkPhp中的响应和重定向:
public function index3(){ //响应数据: $data=['title'=>"标题部分","content"=>" ...