logging模块用来写日志文件

有5个级别,debug(),info(),warning(),error()和critical(),级别最高的为critical()

debug()为调试模式,info()为正常情况下的信息,warning()为警告,error()为错误,critical()为严重问题

普通的打印

# -*- coding:utf-8 -*-
__author__ = "MuT6 Sch01aR" import logging logging.debug('The debug')
logging.info('The info')
logging.warning('Request outtime')
logging.error('The python run error')
logging.critical('The server down')

运行结果

5个级别中只打印了警告级别及之后的语句,因为Logger的默认级别为warning

写入日志文件

# -*- coding:utf-8 -*-
__author__ = "MuT6 Sch01aR" import logging logging.basicConfig(filename='log_test.log',level=logging.INFO) logging.debug('This python is running')
logging.info('The infomation of python')
logging.warning('Request outtime')
logging.error('The python run error')
logging.critical('The server down')

level=loggin.INFO,把日志级别设置为INFO,只有INFO或比INFO级别更高的日志才会被写到日志文件里

写入日志文件的内容

只从info级别开始写入内容,debug级别比info低,没有写入

日志格式化

%(name)s        logger的名称

# -*- coding:utf-8 -*-
__author__ = "MuT6 Sch01aR" import logging logging.basicConfig(format='%(name)s',level=logging.INFO) logging.debug('This python is running')
logging.info('The infomation of python')
logging.warning('Request outtime')
logging.error('The python run error')
logging.critical('The server down')

运行结果

%(levelno)s   数字形式的日志级别,%(levelname)s   文本形式的日志级别

# -*- coding:utf-8 -*-
__author__ = "MuT6 Sch01aR" import logging logging.basicConfig(format='%(levelno)s,%(levelname)s',level=logging.INFO) logging.debug('This python is running')
logging.info('The infomation of python')
logging.warning('Request outtime')
logging.error('The python run error')
logging.critical('The server down')

运行结果

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

# -*- coding:utf-8 -*-
__author__ = "MuT6 Sch01aR" import logging logging.basicConfig(format='%(lineno)d',level=logging.INFO) logging.debug('This python is running')
logging.info('The infomation of python')
logging.warning('Request outtime')
logging.error('The python run error')
logging.critical('The server down')

运行结果

%(pathname)s    调用日志输出函数的模块的完整路径名

# -*- coding:utf-8 -*-
__author__ = "MuT6 Sch01aR" import logging logging.basicConfig(format='%(pathname)s',level=logging.INFO) logging.debug('This python is running')
logging.info('The infomation of python')
logging.warning('Request outtime')
logging.error('The python run error')
logging.critical('The server down')

运行结果

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

# -*- coding:utf-8 -*-
__author__ = "MuT6 Sch01aR" import logging logging.basicConfig(format='%(filename)s',level=logging.INFO) logging.debug('This python is running')
logging.info('The infomation of python')
logging.warning('Request outtime')
logging.error('The python run error')
logging.critical('The server down')

运行结果

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

# -*- coding:utf-8 -*-
__author__ = "MuT6 Sch01aR" import logging logging.basicConfig(format='%(module)s',level=logging.INFO) logging.debug('This python is running')
logging.info('The infomation of python')
logging.warning('Request outtime')
logging.error('The python run error')
logging.critical('The server down')

运行结果

就是文件名,没有后缀

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

# -*- coding:utf-8 -*-
__author__ = "MuT6 Sch01aR" import logging logging.basicConfig(format='%(funcName)s',level=logging.INFO) def log_test():
logging.debug('This python is running')
logging.info('The infomation of python')
logging.warning('Request outtime')
logging.error('The python run error')
logging.critical('The server down') log_test()

运行结果

%(created)f     当前时间,用UNIX标准的表示时间的浮点数表示

# -*- coding:utf-8 -*-
__author__ = "MuT6 Sch01aR" import logging logging.basicConfig(format='%(created)f',level=logging.INFO) logging.debug('This python is running')
logging.info('The infomation of python')
logging.warning('Request outtime')
logging.error('The python run error')
logging.critical('The server down')

运行结果

%(relativeCreated)d   输出日志信息自创建以来的毫秒数

# -*- coding:utf-8 -*-
__author__ = "MuT6 Sch01aR" import logging
import time logging.basicConfig(format='%(relativeCreated)d',level=logging.INFO) logging.debug('This python is running')
time.sleep(2)
logging.info('The infomation of python')
logging.warning('Request outtime')
logging.error('The python run error')
logging.critical('The server down')

运行结果

结果是不定的

%(asctime)s  字符串形式的当前时间,默认格式为“2018-02-15 17:59:31,546”,逗号后面的是毫秒

# -*- coding:utf-8 -*-
__author__ = "MuT6 Sch01aR" import logging logging.basicConfig(format='%(asctime)s',level=logging.INFO) logging.debug('This python is running')
logging.info('The infomation of python')
logging.warning('Request outtime')
logging.error('The python run error')
logging.critical('The server down')

运行结果

%(thread)d  当前线程号,%(threadName)s  当前线程名

# -*- coding:utf-8 -*-
__author__ = "MuT6 Sch01aR" import logging logging.basicConfig(format='%(thread)d,%(threadName)s',level=logging.INFO) logging.debug('This python is running')
logging.info('The infomation of python')
logging.warning('Request outtime')
logging.error('The python run error')
logging.critical('The server down')

运行结果

%(process)d      进程号

# -*- coding:utf-8 -*-
__author__ = "MuT6 Sch01aR" import logging logging.basicConfig(format='%(process)d',level=logging.INFO) logging.debug('This python is running')
logging.info('The infomation of python')
logging.warning('Request outtime')
logging.error('The python run error')
logging.critical('The server down')

运行结果

%(message)s     用户输出的消息

# -*- coding:utf-8 -*-
__author__ = "MuT6 Sch01aR" import logging logging.basicConfig(format='%(message)s',level=logging.INFO) logging.debug('This python is running')
logging.info('The infomation of python')
logging.warning('Request outtime')
logging.error('The python run error')
logging.critical('The server down')

运行结果

格式化的日志写入

# -*- coding:utf-8 -*-
__author__ = "MuT6 Sch01aR" import logging logging.basicConfig(filename='log_test.log',level=logging.INFO,format='%(message)s',datefmt='%m') logging.debug('This python is running')
logging.info('The infomation of python')
logging.warning('Request outtime')
logging.error('The python run error')
logging.critical('The server down')

运行结果

Python模块-logging模块(一)的更多相关文章

  1. Python之logging模块

    一.引言 之前在写一些小程序的时候想把日志内容打到文件中,所以就自己写了一个logger.py的程序,如下: #!/usr/bin/python # -*- coding=utf-8 -*- impo ...

  2. python模块 ---logging模块

    摘要by crazyhacking: 与log4cxx一样,分为三个部分,logger, handler,formatter. 详细内容参考:1官网http://docs.python.org/2/h ...

  3. python的logging模块

    python提供了一个日志处理的模块,那就是logging 导入logging模块使用以下命令: import logging logging模块的用法: 1.简单的将日志打印到屏幕上 import ...

  4. python的logging模块之读取yaml配置文件。

    python的logging模块是用来记录应用程序的日志的.关于logging模块的介绍,我这里不赘述,请参见其他资料.这里主要讲讲如何来读取yaml配置文件进行定制化的日志输出. python要读取 ...

  5. Python全栈之路----常用模块----logging模块

    很多程序都有记录日志的需求,并且日志中包含的信息即有正常的程序访问日志,还可能有错误.警告等信息输出,python的logging模块提供了标准的日志接口,你可以通过它存储各种格式的日志,loggin ...

  6. python中logging模块的用法

    很多程序都有记录日志的需求,并且日志中包含的信息即有正常的程序访问日志,还可能有错误.警告等信息输出,python的logging模块提供了标准的日志接口,你可以通过它存储各种格式的日志,loggin ...

  7. Python模块——logging模块

    logging模块简介 logging模块定义的函数和类为应用程序和库的开发实现了一个灵活的事件日志系统.logging模块是Python的一个标准库模块, 由标准库模块提供日志记录API的关键好处是 ...

  8. python基础--logging模块

    很多程序都有记录日志的需求,并且日志中包含的信息即有正常的程序访问日志,还可能有错误.警告等信息输出,python的logging模块提供了标准的日志接口,你可以通过它存储各种格式的日志,loggin ...

  9. Python中logging模块的基本用法

    在 PyCon 2018 上,Mario Corchero 介绍了在开发过程中如何更方便轻松地记录日志的流程. 整个演讲的内容包括: 为什么日志记录非常重要 日志记录的流程是怎样的 怎样来进行日志记录 ...

  10. Python日志(logging)模块,shelve,sys模块

    菜鸟学python第十七天 1.logging 模块 logging模块即日志记录模块 用途:用来记录日志 为什么要记录日志: 为了日后复查,提取有用信息 如何记录文件 直接打开文件,往里写东西 直接 ...

随机推荐

  1. 丢失vcruntime140.dll

    我在php7安装yaf时报了标题所提示的错误信息. 解决方案是:下载vc++2015 并安装 链接如下:https://www.microsoft.com/zh-cn/download/confirm ...

  2. 用swift创建各种UI控件【iSwifting社区】

    为了方便大家学习,www.iSwifting.com社区为大家准备了创建各种UI控件的代码.開始看着语法可能有些别扭,当用习惯了,就认为还是非常不错的. 社区还添加了问答专区.有问题的朋友.虽然问.大 ...

  3. SE16传输配置表数据

    SE16标准工具传输配置表数据 (上面说了配置表,所以并不是所有的表都能SE16传输.) 了解到: 1.如果是可维护的表,SE16,执行 然后:表条目->传输条目.选择请求: 2.对于不可维护的 ...

  4. 【转】.net中快捷键的使用

    当前行行首:Home 当前行行尾:End 当前文档首行:ctrl+Home 当前文档尾行:ctrl+End 选中当前行: ① 按Home(定位到行首)然后按Shift+Dnd(行尾)   {从行首连选 ...

  5. 通过socket和Udp协议简单实现一个群体聊天工具(控制台)

    编写一个聊天程序.有收数据的部分 和 发数据的部分.这两个部分需要同时执行,这就用到多线程技术,一个线程负责收,一个现象负责发. 因为收和发动作是不一致的,所以要定义两个run方法而且这两个方法要封装 ...

  6. css属性background

    一.background-size 1.具体设定的px值,及北背景图片的具体宽高 2.设定的百分比,相对于容器的宽高 3.设定三个铺设类型: (1)cover: 以宽 / 高 为基本,尽可能的去铺满整 ...

  7. 【Flask】查询分页问题处理

    遇到两次查询结果分页的问题, 查询出结果后, 翻页时导致查询条件失效. 处理方式 1. 路由中不放page参数 写成 @testfile.route("/test-file", m ...

  8. 20145229吴姗珊 《Java程序设计》第8周学习总结

    20145229吴姗珊 <Java程序设计>第8周总结 教材学习内容总结 第十四章 NIO与NIO2 NIO: InputStream.OutputStream的输入输出,基本上是以字节为 ...

  9. 斯坦福机器学习视频笔记 Week2 多元线性回归 Linear Regression with Multiple Variables

    相比于week1中讨论的单变量的线性回归,多元线性回归更具有一般性,应用范围也更大,更贴近实际. Multiple Features 上面就是接上次的例子,将房价预测问题进行扩充,添加多个特征(fea ...

  10. <linux硬件及硬盘分区>关于硬盘的规划和使用细节

    ps:期末考试 终于结束了,这下我也终于有时间开始继续经营我的博客.这个学期上的一些课真的非常有用,感觉很多课程细地讲都可以写成非常精致的技术博文,比如流水线技术,数据库的一些技术,大学里的考试考的内 ...