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. git本地分支管理

    查看分支:git branch创建分支:git branch dev重命名分支:git branch -m dev dev1删除分支:git branch -d dev切换分支:git checkou ...

  2. lzugis—搭建属于自己的小型的版本号控制SVN

    版权声明:本文为LZUGIS原创文章,未经同意不得转载. https://blog.csdn.net/GISShiXiSheng/article/details/28643575 对于不了解SVN的同 ...

  3. dockerfile nginx配置

    Dockerfile 代码 From hub.c.163.com/public/nginx:1.2.1 RUN rm -v /etc/nginx/nginx.conf ADD nginx.conf / ...

  4. Java之线程池(二)

    关于线程和线程池的学习,我们可以从以下几个方面入手: 第一,什么是线程,线程和进程的区别是什么 第二,线程中的基本概念,线程的生命周期 第三,单线程和多线程 第四,线程池的原理解析 第五,常见的几种线 ...

  5. 第14条:尽量用异常来表示特殊情况,而不要返回Nono

    核心知识点: 1.用None这个返回值来表示特殊意义的函数,很容易使调用者犯错,因为None和0以及空字符串之类的值,在条件表达式里都会评估为False. 2.两种方法:二元法:将异常抛给上一级直接报 ...

  6. 自动分割nginx服务的日志文件

    nginx服务每天都会产生大量的日志信息,时间一长导致日志文件容量很大,会影响系统性能.通过以下shell代码,配合crontab定时执行可实现nginx日志定时分割的功能. #!/bin/bash ...

  7. iOS uitableViewCell 选中 push后返回 取消选中状态

    首先我有一个UITableViewController,其中每个UITableViewCell点击后都会push另一个 ViewController,每次点击Cell的时候,Cell都会被选中,当从p ...

  8. Effective java -- 6 方法

    第三十八条:检查参数的有效性 第三十九条:必要时进行保护性拷贝 public class Period { private final Date start; private final Date e ...

  9. .net序列化与反序列化——提供多次存储对象集后读取不完全解决方案

    ||问题: 文本文档读取序列化文件时只能读取第一次序列化对象或对象集,而多次序列化存到同一个文本文件中不能完全读取.最近做一个简单的学生管理系统,涉及到多次将学生对象序列化后追加存储到同一个文档中.在 ...

  10. [原创]关于设置linux中vim 显示行号

    1.更改所有账户配置 直接更改/etc/vimrc vim /etc/vimrc 在vimrc文件的最后添加 set nu 即可 wq退出. 这样,不论使用哪个账号登陆,vim打开后都显示行号 2.为 ...