首页 > 编程语言 >python之常用标准库-log

python之常用标准库-log

时间:2024-01-30 17:24:37浏览次数:23  
标签:-% 输出 常用 logging log python logger 日志

log级别:debug(), info(), warning(), error() and critical() 5个级别,最低为debug,最高位critical

log标准输出格式:

%(name)s

Logger的名字

%(levelno)s

数字形式的日志级别

%(levelname)s

文本形式的日志级别

%(pathname)s

调用日志输出函数的模块的完整路径名,可能没有

%(filename)s

调用日志输出函数的模块的文件名

%(module)s

调用日志输出函数的模块名

%(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

用户输出的消息

1.屏幕输出

1 #!/usr/bin/python
2 import logging
3 #屏幕输出
4 logging.debug('调试测试异常')
5 logging.info('正常')
6 logging.warning('警告')
7 logging.error('错误')
8 logging.critical('严重')
View Code

2.屏幕格式化输出

需要先设置格式; logging.basicConfig(filename='log_test.log',encoding='utf-8',format='%(asctime)s-%(lineno)s-%(levelname)s-%(message)s',level=logging.INFO)

 1 #!/usr/bin/python
 2 import logging
 3 # print(dir(logging))
 4 #debug(), info(), warning(), error() and critical() 5个级别
 5 #屏幕输出
 6 logging.basicConfig(format='%(asctime)s-%(lineno)s-%(levelname)s-%(message)s',level=logging.INFO)
 7 logging.debug('调试测试异常')
 8 logging.info('正常')
 9 logging.warning('警告')
10 logging.error('错误')
11 logging.critical('严重')
View Code

3.打印到文件

1 #!/usr/bin/python
2 import logging
3 # #把日志写到文件里面
4 logging.basicConfig(filename='log_test.log',encoding='utf-8',format='%(asctime)s-%(lineno)s-%(levelname)s-%(message)s',level=logging.INFO)
5 logging.debug('调试测试异常')
6 logging.info('正常')
7 logging.warning('警告')
8 logging.error('错误')
9 logging.critical('严重')
View Code

4.同时打印到屏幕和文件

需要加入logger和handler

常用handler:

1) logging.StreamHandler
使用这个Handler可以向类似与sys.stdout或者sys.stderr的任何文件对象(file object)输出信息。

2) logging.FileHandler
用于向一个文件输出日志信息

3) logging.handlers.RotatingFileHandler
但是它可以管理文件大小。当文件达到一定大小之后,它会自动将当前日志文件改名,然后创建 一个新的同名日志文件继续输出。

4) logging.handlers.TimedRotatingFileHandler
通过间隔时间 自动创建新的日志文件。

 1 #!/usr/bin/python
 2 import logging
 3 #创建logger
 4 logger=logging.getLogger('TEST-LOG')
 5 logger.setLevel(logging.INFO)
 6 #创建handler
 7 # #打印到屏幕
 8 cs=logging.StreamHandler() 
 9 cs.setLevel(logging.INFO)
10 #打印到文件
11 cf=logging.FileHandler(filename='log_test.log',encoding='utf-8') 
12 cf.setLevel(logging.INFO)
13 #设置标准格式
14 fomat_test=logging.Formatter('%(asctime)s-%(levelname)s-%(message)s')
15 cs.setFormatter(fomat_test)
16 cf.setFormatter(fomat_test)
17 logger.addHandler(cs)
18 logger.addHandler(cf)
19 
20 logger.debug('ts')
21 logger.info('ts')
22 logger.warning('警告')
23 logger.error('错误')
24 logger.critical('严重')
View Code

标签:-%,输出,常用,logging,log,python,logger,日志
From: https://www.cnblogs.com/Little-Girl/p/17997532

相关文章

  • Python 在Windows上监控Linux日志
    importparamikoimporttimedefmonitor_linux_log(linux_ip,username,password,log_file):client=paramiko.SSHClient()client.set_missing_host_key_policy(paramiko.AutoAddPolicy())client.connect(linux_ip,username=username,password=passwo......
  • [-001-]-Python语言的GUI编程工具包之PyQt5初步认识
    一、PyQt5的QtWidgets介绍PyQt5的QtWidgets模块包含了很多类,用于创建GUI应用程序的各种控件和窗口部件。其中一些主要的类包括:QApplication:应用程序类,负责管理应用程序的控制流程和事件循环QMainWindow:主窗口类,提供了一个应用程序的主界面QWidget:窗口部件类,是所有用户界面......
  • windows上使用python2.7获取svn info,中文路径乱码问题
    #-*-coding:utf-8-*-from__future__importunicode_literalsimportsubprocessimportcmdimportosos.environ['LANG']='en_US.UTF-8'classSVNCommand(cmd.Cmd):defdo_svninfo(self,folder_path):#构建svninfo命令......
  • 主从同步问题排查常用sql
    我们在配置mysql主从的时候经常会遇到一些问题,同步延迟、定位binlog错误、查看binlog等等问题,一般大家可能会用到其他方式或者命令,我一般都是采用纯sql的方式进行排查,这里把我常用的一些方法分享给大家:1.查询master和slave的状态showmasterstatus;showslavestatus;2.通过......
  • 各种常用的CDN加速服务
    1.jQuery<scriptsrc="//cdn.bootcss.com/jquery/3.2.0/jquery.js"></script>2.Echar<scripttype="text/javascript"src="http://echarts.baidu.com/gallery/vendors/echarts/echarts-all-3.js"></script><......
  • 100个python模块
    1.NumPy-数值计算扩展库。提供高效的多维数组对象和用于处理这些数组的工具。http://www.numpy.org/2.SciPy-科学计算库。构建在NumPy之上,用于科学与技术计算。https://www.scipy.org/3.Pandas-数据分析与操作库。提供高性能易用的数据结构和数据分析工具。http://panda......
  • Python正则表达式之: (?P<name>…)
    importres="2023-12-2314:34:56|liming|20230789"parren="(?P<time>^\d+-\d+-\d+\s\d+:\d+:\d+)\|(?P<name>[\w]+)\|(?P<number>\d+)$"g=re.search(parren,s)>>>g.groupdict(){'time':'2......
  • Mygin中间件优化及logger日志中间件
    本篇是mygin的第七篇,参照gin框架,感兴趣的可以从Mygin第一篇开始看,Mygin从零开始完全手写,在实现的同时,带你一窥gin框架的核心原理实现。目的中间件Middleware优化默认log日志中间件在上篇Mygin实现中间件Middleware中间件Middleware很生硬,完全依赖循环,如果某个中间件想要c......
  • python获取表格数据总结
    获取表格内容:图片中首先import了两个模块,一个os一个openyxl,然后指定表格路径,打开表格。os:这里os在Python中,os.chdir()方法用于改变当前的工作目录。工作目录是指当前正在执行的脚本所在的目录。通过使用os.chdir()方法,我们可以在脚本执行过程中切换到不同的目录。openy......
  • python之常用标准库-hashlib
    这个模块比较简单,直接上1#!/usr/bin/python2importhashlib3hash=hashlib.sha384()#支持md5/sha1/sha224/sha256等,用法一致4hash.update(b'test')5print(hash.digest())#二进制hash6print(hash.hexdigest())#十六进制hashViewCode ......