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. mysql排序字段为空的排在最后面

    排序字段为orderid; 1.使用order by orderid desc实现降序时,orderid 为null数据的会排在数据的最后面: 但是,order by orderid升序时,order ...

  2. Linux下通过nmap扫描局域网内设备,获取ip地址和mac地址

    安装nmap sudo apt-get install nmap 扫描  sudo nmap -sP -PI -PT

  3. (E2E_L2)包含目录、库目录、附加包含目录、附加库目录、附加依赖项之详解【正确的目录添加方法】

    VS项目中的包含目录.库目录.附加包含目录.附加库目录.附加依赖项均在"项目->属性->配置属性"下进行配置 一.具体说明如下: 1.VC++目录:     包含目录: ...

  4. Ubuntu配置国内高速apt-get更新源

    Ubuntu配置国内高速apt-get更新源     具体内容直接参考这篇博客:https://www.linuxidc.com/Linux/2017-11/148627.htm 此网站可直接找到符合 ...

  5. [转载] Ubuntu上Firefox字体太小--高分屏背锅

    版权声明:本文为CSDN博主「mythinker2」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明.原文链接:https://blog.csdn.net/myth ...

  6. Nginx之https配置 - 运维笔记 (http->https强转)

    一.Nginx安装(略)安装的时候需要注意加上 --with-http_ssl_module,因为http_ssl_module不属于Nginx的基本模块.Nginx安装方法: # ./configu ...

  7. stl中map的四种插入方法总结

    stl中map的四种插入方法总结方法一:pair例:map<int, string> mp;mp.insert(pair<int,string>(1,"aaaaa&q ...

  8. osg塔吊模拟-20191026

    在osg中模拟塔吊群作业

  9. DECODE函数和CASE WHEN 比较

    http://blog.csdn.net/zhangbingtao2011/article/details/51384393 一,DECODE函数 其基本语法为: DECODE(value, if1, ...

  10. Java合并(连接)多个音频

    java sound resource 合并的说法有歧义,为了方便大家搜索到这里,所以用这个标题,实际上是连接(concat),可以理解为字符串concat方法所指定的含义. AudioConcat. ...