11.logging 日志模块

11.logging 日志模块 #Python自带模块

# DEBUG	最详细的日志信息,典型应用场景是 问题诊断
# INFO	信息详细程度仅次于DEBUG,通常只记录关键节点信息,用于确认一切都是按照我们预期的那样进行工作
# WARNING	当某些不期望的事情发生时记录的信息(如,磁盘可用空间较低),但是此时应用程序还是正常运行的
# ERROR	由于一个更严重的问题导致某些功能不能正常运行时记录的信息
# CRITICAL	当发生严重错误,

# 字段/属性名称	    使用格式	            描述
# asctime	        %(asctime)s	            将日志的时间构造成可读的形式,默认情况下是‘2016-02-08 12:00:00,123’精确到毫秒
# name	            %(name)s	            所使用的日志器名称,默认是'root',因为默认使用的是 rootLogger
# filename	        %(filename)s	        调用日志输出函数的模块的文件名; pathname的文件名部分,包含文件后缀
# funcName	        %(funcName)s	        由哪个function发出的log, 调用日志输出函数的函数名
# levelname	        %(levelname)s	        日志的最终等级(被filter修改后的)
# message 	        %(message)s	            日志信息, 日志记录的文本内容
# lineno	        %(lineno)d	            当前日志的行号, 调用日志输出函数的语句所在的代码行
# levelno	        %(levelno)s	            该日志记录的数字形式的日志级别(10, 20, 30, 40, 50)
# pathname	        %(pathname)s	        完整路径 ,调用日志输出函数的模块的完整路径名,可能没有
# process	        %(process)s	            当前进程, 进程ID。可能没有
# processName 	    %(processName)s	        进程名称,Python 3.1新增
# thread	        %(thread)s	            当前线程, 线程ID。可能没有
# threadName	    %(thread)s	            线程名称
# module	        %(module)s	            调用日志输出函数的模块名, filename的名称部分,不包含后缀即不包含文件后缀的文件名
# created	        %(created)f	            当前时间,用UNIX标准的表示时间的浮点数表示; 日志事件发生的时间--时间戳,就是当时调用time.time()函数返回的值
# relativeCreated	%(relativeCreated)d	    输出日志信息时的,自Logger创建以 来的毫秒数; 日志事件发生的时间相对于logging模块加载时间的相对毫秒数
# msecs	            %(msecs)d	            日志事件发生事件的毫秒部分。logging.basicConfig()中用了参数datefmt,将会去掉asctime中产生的毫秒部分,可以用这个加上
	

(1)模块用法
import logging

#  日法收器 Logger         默认日志收集器 root Logger
#  日志输出桌道 handlers  控制台 console file txt test。log

#  1:定义一个日收集器且还要设置级别 getLogger
my_logger = logging.getLogger("python14")
my_logger.setLevel('DEBUG')

#  2:指定输出渠道还要设置级别 StreamHandLer--控制台  FiLeHandLer 输出指定文件
formatter = logging.Formatter("[%(asctime)s]-[%(name)s]-[%(levelname)s]-[日志信息]:%(message)s")#定义日志格式

ch = logging.StreamHandler()    # 控制台渠道
ch.setLevel('INFO')   # 输出到控制台的级别
ch.setFormatter(formatter)  # 设置日志格式

fh = logging.FileHandler("test.log" , encoding = "utf-8")  # 文件渠道
fh.setLevel("INFO")      # 输出到文件的级别
fh.setFormatter(formatter)  # 设置日志格式

#  3:对接
my_logger.addHandler(ch)
my_logger.addHandler(fh)

my_logger.debug("最详细的日志信息")
my_logger.info("记录关键节点信息")
my_logger.warning("某些不期望的事情发生时记录的信息")
my_logger.error("由于一个更严重的问题导致某些功能不能正常运行时记录的信息")
my_logger.critical("当发生严重错误,导致应用程序不能继续运行时记录的信息")

my_logger.removeHandler(ch)#清除控制台渠道信息
my_logger.removeHandler(fh)#清除文件渠道信息

(2)封装成类,方便以后使用

#--------------------------------------------------------------------------------------------------#

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值