python常用模块之logging模块

---恢复内容开始---

一、logging模块的作用以及两种用法

logging模块看名字就知道是用来写日志的,以前我们写日志需要自己往文件里写记录信息,使用了logging之后我们只需要一次配置好,以后写日志的事情都不需要我们操心了,非常方便。logging模块有两种使用方法,一种是简单的函数式,另一种是用logging对象的方式,对象的方式使用起来功能更全更灵活,所以使用最多的也是对象的方式。

二、函数式配置

import logging
logging.basicConfig(level=logging.DEBUG,  #不配置默认只输出级别大于等于waring的日志
                    format=‘%(asctime)s %(filename)s[line:%(lineno)d] %(levelname)s %(message)s‘,
                    datefmt=‘%a, %d %b %Y %H:%M:%S‘,
                    filename=‘/tmp/test.log‘,
                    filemode=‘w‘)  

logging.debug(‘debug message‘)
logging.info(‘info message‘)
logging.warning(‘warning message‘)
logging.error(‘error message‘)
logging.critical(‘critical message‘)

basicConfig可用参数

 

format参数可用的格式化字符串

 

三、logger对象配置

import logging
def my_logger(filename,file=True,stream=True):
    ‘‘‘日志函数‘‘‘
    logger=logging.getLogger() #日志对象
    formatter = logging.Formatter(fmt=‘%(asctime)s -- %(message)s‘,
                                  datefmt=‘%d/%m/%Y %H:%M:%S‘)  # 日志格式
    logger.setLevel(logging.DEBUG)  # 日志级别

    if file:
        file_handler=logging.FileHandler(filename,encoding=‘utf-8‘) #文件流(文件操作符)
        file_handler.setFormatter(formatter)
        logger.addHandler(file_handler)

    if stream:
        stream_handler=logging.StreamHandler()  #屏幕流(屏幕操作符)
        stream_handler.setFormatter(formatter)
        logger.addHandler(stream_handler)
    return logger

logger=my_logger(‘log‘)
logging.debug(‘出错了‘)

---恢复内容结束---

时间: 2024-10-29 00:14:59

python常用模块之logging模块的相关文章

Python进阶(十一)----包,logging模块

Python进阶(十一)----包,logging模块 一丶包的使用 什么是包: ? 包是通过使用 .模块名的方式组织python模块名称空间的方式. 通俗来说,含有一个__init__.py文件的文件夹就是包. 包的作用: ? 将文件夹/模块组织起来,来提高程序的结构性和可维护性. ? 目的不是运行,为了导入使用.包只是一种形式,包的本质就是一个模块 import: # 创建一个包,也会发生三件事: ''' 1. 将该aaa包内 __init__py文件加载到内存. 2. 创建一个以aaa命名

os模块,sys模块,json / pickle模块,logging模块

目录 OS模块 sys模块 json和pickle模块 序列化和反序列化 json模块 pickle logging模块 OS模块 能与操作系统交互,控制文件 / 文件夹 # 创建文件夹 import os os.mkdir(r'D:\py_case\test') # 删除文件夹 os.rmdir(r'D:\py_case\test') # # 列出指定目录下所有文件和子目录 (子目录文件不会列出来) res = os.listdir(r'D:\pycharm_project\Test') pr

Python--模块之sys模块、logging模块、序列化json模块、序列化pickle模块

sys模块 sys.argv 命令行参数List,第一个元素是程序本身路径 sys.exit(n) 退出程序,正常退出时exit(0) sys.path 返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值 示例: import sys count = 1 while count <10: print(count) if count == 8: sys.exit() count += 1 print('ending')结果:12345678 import sys print(sys.

【Pytyon模块】logging模块-日志处理

一.日志相关概念 1.日志的作用 通过log的分析,可以方便用户了解系统或软件.应用的运行情况:如果你的应用log足够丰富,也可以分析以往用户的操作行为.类型喜好.地域分布或其他更多信息:如果一个应用的log同时也分了多个级别,那么可以很轻易地分析得到该应用的健康状况,及时发现问题并快速定位.解决问题,补救损失.简单来讲就是,我们通过记录和分析日志可以了解一个系统或软件程序运行情况是否正常,也可以在应用程序出现故障时快速定位问题.比如,做运维的同学,在接收到报警或各种问题反馈后,进行问题排查时通

第三十六篇 hashlib模块、hmac模块和logging模块

目录 第三十七篇 hashlib模块.hmac模块和logging模块 一.hashlib模块 1.hash是什么 2.撞库破解hash算法加密 二.hmac模块 三.logging模块 1.日志的五个级别 2.V3 3.日志配置文件 4.总结 第三十七篇 hashlib模块.hmac模块和logging模块 一.hashlib模块 1.hash是什么 1.hashlib模块一般用于明文加密 2.hash是一种算法,在hashlib模块中主要提供了md5 等算法,传入的内容通过这些算法,会得到一

Python之常用模块(六)re模块与logging模块和包

5.10 re模块 re(正则)简介:正则就是用一些具有特殊含义的符号组合到一起(称为正则表达式)来描述字符或者字符串的方法.或者说:正则就是用来描述一类事物的规则. re元字符 元字符 匹配内容 \w 匹配字母(包含中文)或数字或下划线 \W 匹配非字母(包含中文)或数字或下划线 \s 匹配任意的空白符 \S 匹配任意非空白符 \d 匹配数字 \D 匹配非数字 \A 从字符串开头匹配 \n 匹配一个换行符 \t 匹配一个制表符 ^ 匹配字符串的开始 $ 匹配字符串的结尾 . 匹配任意字符,除了

Python基础第十三天——sys模块、logging模块、json模块、pickle模块

一.sys模块 1.定义: 与python解释器交互的一个模块 2.sys模块常用的方法 (1)sys.argv方法 定义:命令行参数list,第一个元素是程序本身路径 例: import sys print(sys.argv) # sys.argv只是反映当前模块名,用一个列表存着 # 而pycharm软件则给我们自动加上了绝对路径 输出结果:          # 这个结果并不正确,是因为这是pycharm给加上去的 ['C:/Users/William/PycharmProjects/Py

python 基础 - 4.14 logging模块

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

python之re和logging模块

1.re模块 1.1re模块的概念 re模块就其本质而言,正则表达式(或RE)是一种小型的.高度专业化的编程语言,它内嵌于python中,并通过re模块实现.正则表达式模式被编译成一系列的字节码,然后用c编写的匹配引警执行. 1.2 字符匹配 普通字符:大多数字符和字母都会和自身匹配. import re >>> re.findall('czd','chenyzczdcqy') ['czd'] 元字符: . 通配符,数字字母都可以匹配,除了“\n”以外,一个点代表一个字符 ^ 表示以..