logging

1.basicConfig方式

import logging

# 以下是日志的级别
logging.debug('debug message')
logging.info('info message')
logging.warning('warning msg')
logging.error('error msg')
logging.critical('critical msg')

设置级别:

logging.basicConfig(level=logging.DEBUG)

如果想要存到文件里:

logging.basicConfig(level=logging.DEBUG,filename='logger.logo')
logging.basicConfig(level=logging.DEBUG,filename='logger.logo',filemode='w')

时间和行号

format='%(asctime)s %(lineno)d %(message)s'

运行之后文件里这样显示的

2019-08-23 10:15:44,510 11 debug message
2019-08-23 10:15:44,511 12 info message
2019-08-23 10:15:44,511 13 warning msg
2019-08-23 10:15:44,512 14 error msg
2019-08-23 10:15:44,513 15 critical msg

2.format参数中可能用到的格式化串:

--- %(name)s        Logger的名字

---%(levelno)s     数字形式的日志级别

---%(levelname)s     文本形式的日志级别

---%(pathname)s       调用日志输出函数的模块的完整路径名,可能没有

---%(filename)s          调用日志输出函数的模块的文件名

---%(module)s  调用日志输出函数的模块名

---%(funcName)s   调用日志输出函数的函数名

---%(lineno)s  调用函数日志输出函数的语句所在的代码行

---%(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  用户输出的信息

3.logger对象

import logging

logger = logging.getLogger()           # 创建对象

f = logging.FileHandler('test_log')           # 向文件里发送内容
screen = logging.StreamHandler() # 向屏幕发送内容 ff = logging.Formatter('%(asctime)s' '%(message)s') f.setFormatter(ff)
screen.setFormatter(ff) logger.addHandler(f)
logger.addHandler(screen) logger.setLevel('DEBUG') logger.debug('debug')
logger.info('info')
logger.warning('warning')
logger.error('error')
logger.critical('critical')

运行结果屏幕上也显示,也能存到文件里

改为函数的形式:

import logging
def logger():
logger = logging.getLogger() # 创建对象 f = logging.FileHandler('test_log') # 向文件里发送内容
screen = logging.StreamHandler() # 向屏幕发送内容 ff = logging.Formatter('%(asctime)s' '%(message)s') f.setFormatter(ff)
screen.setFormatter(ff) logger.addHandler(f)
logger.addHandler(screen) logger.setLevel('DEBUG')
return logger logger = logger()
logger.debug('debug')
logger.info('info')
logger.warning('warning')
logger.error('error')
logger.critical('critical')

python学习-57 logging模块的更多相关文章

  1. python学习之-- logging模块

    logging模块功能:提供了标准的日志接口,可以通过它存储各种格式的日志.日志5个级别分:debug(),info(),warning(),error(),critical() logging.ba ...

  2. python 学习笔记 -logging模块(日志)

    模块级函数 logging.getLogger([name]):返回一个logger对象,如果没有指定名字将返回root loggerlogging.debug().logging.info().lo ...

  3. python学习之logging模块

    Logger.setLevel(level) 设置记录器的级别为level.低于该级别的信息将被忽略. 记录器默认级别为NOTSET.如果记录器是根记录器,则默认将记录所有信息: 如果是一个非根记录器 ...

  4. Python自建logging模块

    本章将介绍Python内建模块:日志模块,更多内容请从参考:Python学习指南 简单使用 最开始,我们用最短的代码体验一下logging的基本功能. import logging logger = ...

  5. Python实战之logging模块使用详解

    用Python写代码的时候,在想看的地方写个print xx 就能在控制台上显示打印信息,这样子就能知道它是什么了,但是当我需要看大量的地方或者在一个文件中查看的时候,这时候print就不大方便了,所 ...

  6. Python中的logging模块就这么用

    Python中的logging模块就这么用 1.日志日志一共分成5个等级,从低到高分别是:DEBUG INFO WARNING ERROR CRITICALDEBUG:详细的信息,通常只出现在诊断问题 ...

  7. python中日志logging模块的性能及多进程详解

    python中日志logging模块的性能及多进程详解 使用Python来写后台任务时,时常需要使用输出日志来记录程序运行的状态,并在发生错误时将错误的详细信息保存下来,以别调试和分析.Python的 ...

  8. Python学习day19-常用模块之re模块

    figure:last-child { margin-bottom: 0.5rem; } #write ol, #write ul { position: relative; } img { max- ...

  9. Python日志输出——logging模块

    Python日志输出——logging模块 标签: loggingpythonimportmodulelog4j 2012-03-06 00:18 31605人阅读 评论(8) 收藏 举报 分类: P ...

随机推荐

  1. ubuntu之路——day10.2单一数字评估指标与满足和优化的评估指标

    单一数字评估指标: 我们在平时常用到的模型评估指标是精度(accuracy)和错误率(error rate),错误率是:分类错误的样本数站样本总数的比例,即E=n/m(如果在m个样本中有n个样本分类错 ...

  2. Perl字符贪吃蛇

    一时兴起,想试试能不能用perl实现字符贪吃蛇,算法如下: 定义2个数组@bg.@snake,@bg用来显示整个界面,@snake从蛇头开始保存蛇的坐标点. 蛇每移动一次,新的坐标点放到@snake头 ...

  3. mac 修改mysql root密码

    01-在系统偏好设置中停止mysql服务 或者使用指令 sudo /usr/local/mysql/support-files/mysql.server stop 02-输入指令: cd /usr/l ...

  4. ubuntu上安装jdk

    使用安装包安装:JDK官网下载地址: https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.h ...

  5. Windows下通过命令行 获取文件详细信息

    @echo off echo version: wmic datafile where Name="C:\\Product\\File\\Release\\1.1.1\\File.exe&q ...

  6. Leetcode: Capacity To Ship Packages Within D Days

    A conveyor belt has packages that must be shipped from one port to another within D days. The i-th p ...

  7. postman内置脚本说明

    1. 清除一个全局变量 Clear a global variable 对应脚本: postman.clearGlobalVariable("variable_key"); 参数: ...

  8. postgresql 所有聚合函数整理

    SELECT DISTINCT(proname) FROM pg_proc WHERE proisagg order by proname 查所有 SELECT * FROM pg_proc WHER ...

  9. 在EXE和DLL中,FindResource的区别

    转载:https://blog.csdn.net/ithzhang/article/details/7995102 在EXE和DLL中,FindResource的区别 以下的代码在EXE中,执行无误. ...

  10. nginx通过robots.txt禁止所有蜘蛛访问(禁止搜索引擎收录)

    在server {} 块中添加下面的配置 location =/robots.txt { default_type text/html; add_header Content-Type "t ...