Python模块-logging模块(一)

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个级别中只打印了警告级别及之后的语句

写入日志文件

# -*- 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        日志写入者的名称

# -*- 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‘)

运行结果

原文地址:https://www.cnblogs.com/sch01ar/p/8449752.html

时间: 2024-10-09 19:02:00

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

python的logging模块

1.简单的将日志打印到屏幕 import logging logging.debug('This is debug message') logging.info('This is info message') logging.warning('This is warning message') 屏幕上打印: WARNING:root:Thisis warning message 默认情况下,logging将日志打印到屏幕,日志级别为WARNING: 日志级别大小关系为:CRITICAL > ER

python - 常用模块 - logging模块

python主要是通过logging模块来进行日志处理 很多程序都有记录日志的需求,并且日志中包含的信息即有正常的程序访问日志,还可能有错误.警告等信息输出,python的logging模块提供了标准的日志接口, 你可以通过它存储各种格式的日志,logging的日志可以分为 debug(), info(), warning(), error(), critical() 5个级别, 日志级别: DEBUG INFO WARNING ERROR CRITICAL等级依次提高(打印的信息越来越少,DE

python之logging模块的使用

python的logging模块是用来写日志的,是python的标准模块. logging的结构 查看logging的python源码,可知主要有四个类实现功能: Loggers:提供应用程序直接使用的接口,如相关的配置设置: Handlers:将Loggers产生的日志传到指定位置,设置日志保存的位置: Filters:对输出日志进行过滤操作: Formatters:控制日志的输出格式: 日志记录的级别 DEBUG:优先级10,记录调试的详细信息,只在调试时开启: INFO:优先级20,记录普

Python基础-----logging模块

#!/usr/bin/env python#-*- coding:utf-8 -*- ########################################################################################################################################################灵活配置日志级别,日志格式,输出位置#####################################

python使用logging模块方法 教程

logging模块是Python内置的标准模块,主要用于输出运行日志,可以设置输出日志的等级.日志保存路径.日志文件回滚等:相比print,具备如下优点: 可以通过设置不同的日志等级,在release版本中只输出重要信息,而不必显示大量的调试信息:print将所有信息都输出到标准输出中,严重影响开发者从标准输出中查看其它数据:logging则可以由开发者决定将信息输出到什么地方,以及怎么输出: logging模块的日志级别 logging模块默认定义了以下几个日志等级,它允许开发人员自定义其他日

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

很多程序都有记录日志的需求,并且日志中包含的信息即有正常的程序访问日志,还可能有错误.警告等信息输出,python的logging模块提供了标准的日志接口,你可以通过它存储各种格式的日志,logging的日志可以分为 debug()调试, info()记录, warning()有潜在问题, error()出问题 and critical()严重问题5个级别,下面我们看一下怎么用. 最简单用法 import logging logging.warning("user [alex] attempte

Python中logging模块的基本用法

在 PyCon 2018 上,Mario Corchero 介绍了在开发过程中如何更方便轻松地记录日志的流程. 整个演讲的内容包括: 为什么日志记录非常重要 日志记录的流程是怎样的 怎样来进行日志记录 怎样进行日志记录相关配置 日志记录使用常见误区 下面我们来梳理一下整个演讲的过程,其实其核心就是介绍了 logging 模块的使用方法和一些配置. 日志记录的重要性 在开发过程中,如果程序运行出现了问题,我们是可以使用我们自己的 Debug 工具来检测到到底是哪一步出现了问题,如果出现了问题的话,

25.Python序列化模块,hashlib模块, configparser模块,logging模块,异常处理

一.序列化模块 什么叫序列化——将原本的字典.列表等内容转换成一个字符串的过程就叫做序列化. 比如,我们在python代码中计算的一个数据需要给另外一段程序使用,那我们怎么给?现在我们能想到的方法就是存在文件里,然后另一个python程序再从文件里读出来.但是我们都知道,对于文件来说是没有字典这个概念的,所以我们只能将数据转换成字典放到文件中.你一定会问,将字典转换成一个字符串很简单,就是str(dic)就可以办到了,为什么我们还要学习序列化模块呢?没错序列化的过程就是从dic 变成str(di

sys模块 logging模块 序列化模块

一 :sys模块 sys.argv 命令行参数List,第一个元素是程序本身路径 sys.exit(n) 退出程序,正常退出时exit(0) sys.version 获取Python解释程序的版本信息 sys.maxint 最大的Int值 sys.path 返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值 sys.platform 返回操作系统平台名称 二:logging模块 1 函数式简单配置 import logging logging.debug('debug messag

python中logging模块的使用

一.基本用法 只需要基本的配置,就可以使用了. import logging def fun2(): logging.basicConfig(filename="fun2.log",format="%(asctime)s %(message)s",level=logging.DEBUG) logging.debug("this is fun2 log") 二.进行详细配置 首先添加一个fileHandler来配置记录的文件,Formatter来设