logging模块
时间:2020-04-20
本文章向大家介绍logging模块,主要包括logging模块使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
# logging模块 ------ 日志 # 为啥写log? # 为了排错 为了做数据分析 操作审计 # 无论想打印日志里面的什么内容,都需要自己写 # basicConfig 进行设置格式 import logging # 输出内容有五个级别 默认 # logging.debug('debug message') #调试 # logging.info('info') 信息 # logging.warning('warning') 警告 # logging.error('error') 错误 # logging.critical('critical') 批判性的 # logging.basicConfig函数各参数: # filename:指定日志文件名; # filemode:和file函数意义相同,指定日志文件的打开模式,'w'或者'a'; # format:指定输出的格式和内容,format可以输出很多有用的信息, # datefmt:指定时间格式,同time.strftime() # # %(levelno)s:打印日志级别的数值 # # %(levelname)s:打印日志级别的名称 # # %(pathname)s:打印当前执行程序的路径,其实就是sys.argv[0] # # %(filename)s:打印当前执行程序名 # # %(funcName)s:打印日志的当前函数 # # %(lineno)d:打印日志的当前行号 # # %(asctime)s:打印日志的时间 # # %(thread)d:打印线程ID # # %(threadName)s:打印线程名称 # # %(process)d:打印进程ID # # %(message)s:打印日志信息 # logging.warning('warning message text1') # logging.basicConfig( # format='%(asctime)s - %(name)s - %(levelname)s[line: %(lineno)d]-%(module)s: %(message)s', # datefmt='%Y-%M-%d %H:%M:%S %p', # #level= logging.DEBUG, # ) # # logging.warning('warning message text2') # logging.error('error message text2') # logging.critical('cietical message text2') # 输出到文件 # logging.basicConfig( # format='%(asctime)s - %(name)s - %(levelname)s[line: %(lineno)d]-%(module)s: %(message)s', # datefmt='%Y-%M-%d %H:%M:%S %p', # filename='tmp.log', # filemode='w', # level= logging.DEBUG # # ) # # logging.warning('warning message text1') # logging.error('error message text2') # logging.critical('cietical message text3') # 同时输出到屏幕和文件 # fh = logging.FileHandler('tmp.log',encoding='utf-8') # fh2 = logging.FileHandler('tmp2.log',encoding='utf-8') # # sh = logging.StreamHandler() # logging.basicConfig( # format='%(asctime)s - %(name)s - %(levelname)s[line: %(lineno)d]-%(module)s: %(message)s', # datefmt='%Y-%M-%d %H:%M:%S %p', # # level= logging.ERROR, # handlers=[fh,sh,fh2] # ) # # logging.warning('warning message text1') # logging.error('error message text2') # logging.critical('cietical message text3') # 做日志切割 # import time # from logging import handlers # sh = logging.StreamHandler() # rh = handlers.RotatingFileHandler('myapp.log',maxBytes=1024,backupCount=5) 按照文件大小切割 # fh = handlers.TimedRotatingFileHandler(filename='x2.log', when='s', interval=5,encoding='utf-8') 按照时间切割 # logging.basicConfig( # format='%(asctime)s - %(name)s - %(levelname)s[line: %(lineno)d]-%(module)s: %(message)s', # datefmt='%Y-%M-%d %H:%M:%S %p', # # level= logging.DEBUG, # handlers=[fh,rh,sh] # ) # # for i in range(1,100000): # time.sleep(0.1) # logging.error('KeyboardInterrupt error %s'%str(i))
原文地址:https://www.cnblogs.com/luoluokang/p/12737037.html
- iKcamp|基于Koa2搭建Node.js实战(含视频)☞ HTTP请求
- ubuntu中安装tomcat
- python文件操作
- Owasp测试4.0手册
- 推荐一款Web渗透测试数据库
- 【提莫】一个域名收集及枚举工具
- chmod: changing permissions of `/usr/local/bin/...
- a windows service with the name MYSQL already e...
- NameError: name 'admin' is not defined(彻底解决方案)
- Error: No module named blog
- ubuntu中的django安装配置与操作
- IOS开发之-搜索栏UISearchController详解
- java归并排序(最精简代码)
- java希尔排序(最精简代码)
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- PHP 使用位运算实现四则运算的代码
- linux操作系统下配置ssh/sftp和权限设置办法
- 15分钟并行神器gnu parallel入门指南
- php实现验证邮箱格式的代码实例
- Packetdrill的简明使用手册
- Laravel5.1 框架模型远层一对多关系实例分析
- Linux系统中时间的获取和使用
- thinkphp5.1验证码及验证码验证功能的实现详解
- LNMP部署及HTTPS服务开启教程
- Laravel5.1 框架模型多态关联用法实例分析
- Laravel5.1 框架分页展示实现方法实例分析
- composer安装的方法步骤(图文)
- Linux双网卡绑定脚本的办法示例
- thinkphp调用sqlserver储存过程返回多个结果集
- php命名空间设计思想、用法与缺点分析