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. Spark0.9.0机器学习包MLlib-Classification代码阅读

    本章主要讲述MLlib包里面的分类算法实现,目前实现的有LogisticRegression.SVM.NaiveBayes ,前两种算法针对各自的目标优化函数跟正则项,调用了Optimization模 ...

  2. python基础18 ---多态与绑定方法

    一.抽象类 1.抽象类的定义:从一堆类中抽象出相同的内容,重新组成一个新的类,这样的类属于抽象类. 2.香蕉类是一类水果,苹果类是一类水果,葡萄类是一类水果,但是他们都属于水果,从他们这些类中可以抽象 ...

  3. PHP保存数组到文件中的方法

    ThinkPHP自3.1以后的版本,F函数保存数组时先序列化后再保存到文件中,因为我需要使用C方法来读取自定义配置文件,故需要把PHP数组保存到文件中以便C方法读取,PHP保存数组到文件的方法如下: ...

  4. jps参数

    jps是jdk1.5提供的用来显示当前java进程的指令,能显示进程id及进程名称(多指jar包名称.class名称) -q 只显示进程ID -m 显示传递给main方法的参数 -l 显示应用程序完整 ...

  5. Never Go Away

    Hey if you ever want to leave it allif you ever want to lose control leave it all escape so far away ...

  6. shell脚本默认变量值

    脚本参数相关: $# 是传给脚本的参数个数 $ 是脚本本身的名字 $ 是传递给该shell脚本的第一个参数 $ 是传递给该shell脚本的第二个参数 $@ 是传给脚本的所有参数的列表 $* 是以一个单 ...

  7. FOJ 2232 匈牙利算法找二分图最大匹配

    题目链接 简单理解匈牙利算法 简单理解二分图 尽量让每一个随从击败一个对手且随从全部存活,关键是为每一个随从找对手(递归过程),"腾". #include<iostream& ...

  8. running a background task over ssh

    原文: Why does running a background task over ssh fail if a pseudo-tty is allocated? 问题: I've recently ...

  9. 算法(Algorithms)第4版 练习 2.1.24

    代码实现: package com.qiusongde; import edu.princeton.cs.algs4.In; import edu.princeton.cs.algs4.StdOut; ...

  10. Ogre的Singleton实现-模版实现,便于重用-(详细分析)以及笔者的改进

    转自:http://www.cppblog.com/sandy/archive/2005/11/30/1436.html ;Root g_root;//must declare once only / ...