Python学习---重点模块之logging

Posted 小a玖拾柒

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python学习---重点模块之logging相关的知识,希望对你有一定的参考价值。

日志级别

日志级别  critical > error > warning > info > debug, 默认是从warning开始打印

import logging

# 日志级别  critical > error > warning > info > debug
logging.debug(\'hello world\')
logging.info(\'hello world\')
logging.warning(\'hello world\')
logging.error(\'hello world\')
logging.critical(\'hello world\')
image_thumb

日志的配置

配置的 basicConfig文件只能输出到文件中,但是配合stream参数可以达到屏幕/文件均输出的效果

默认追加模式

默认是输出到屏幕,有filename则输出到文件

直接用logging配置
import logging
# 配置的 basicConfig文件只能输出到文件中,但是配合stream参数可以达到屏幕/文件均输出的效果
logging.basicConfig(level=logging.DEBUG,  ormat=\'%(asctime)s %(filename)s[line:%(lineno)d] %(levelname)s %(message)s\',
                    datefmt=\'%a, %d %b %Y %H:%M:%S\',
                    #stream 输出的流
                    filename=\'test.log\', # 默认是输出到屏幕,有filename则输出到文件
                    filemode=\'a\')   # 默认追加模式

logging.debug(\'debug message\')
logging.info(\'info message\')
logging.warning(\'warning message\')
logging.error(\'error message\')
logging.critical(\'critical message\')
 

format参数中可能用到的格式化串:

%(name)s Logger的名字

%(levelno)s 数字形式的日志级别

%(levelname)s 文本形式的日志级别

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

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

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

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

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

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

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

%(asctime)s 字符串形式的当前时间。默认格式是 “2003-07-08 16:49:45,896”。逗号后面的是毫秒

%(thread)d 线程ID。可能没有

%(threadName)s 线程名。可能没有

%(process)d 进程ID。可能没有

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

logger对象:可以文件打印,也可以屏幕输出

import logging
# 创建了一个logger对象,并且命名为
log = logging.Logger(\'user_logger\', level=logging.INFO)
# 更改日志级别,默认是warning级别
# log.setLevel(logging.DEBUG)
# 文件输出对象
log_txt = logging.FileHandler(\'log.log\')
# 屏幕输出对象
log_str = logging.StreamHandler()
log_format = logging.Formatter(\'%(asctime)s - %(name)s - %(levelname)s -[line:%(lineno)d]- %(message)s\')
# 屏幕输出
log_str.setFormatter(log_format)
# 文件输出
log_txt.setFormatter(log_format)

# log 对象添加屏幕输出
log.addHandler(log_str)
# log 对象添加文件输出
log.addHandler(log_txt)
# 输出内容,默认warning以上的log都可以打印
log.debug(\'log debug message\')
log.info(\'log info message\')
log.warning(\'log warning message\')
log.error(\'log error message\')
log.critical(\'log critical message\')

image

以上是关于Python学习---重点模块之logging的主要内容,如果未能解决你的问题,请参考以下文章

Python学习---重点模块之re

python之logging模块

Python学习笔记——基础篇第六周——logging模块

python之logging模块基本用法

Python 之 logging日志模块

python模块之logging