logging模块

logging模块

@(杂庭忆技)[Python, logging]

018.8.17

简单示例

import logging            


logging.debug("debug")                  
logging.info("info")      

logging.warning("warning")                    
logging.error("error")    

# 输出
>>WARNING:root:warning
>>ERROR:root:error

默认情况下,logging将日志打印到屏幕上,按WARNING级别

日志等级

CRITICAL > ERROR > WARNING > INFO > DEBUG > NOTSET

设置日志等级以后,程序会自动过滤掉低于设置等级的日志信息。如:当等级为WARNING的时候,包括INFO及以下的日志信息会被过滤掉

简单设置

利用logging模块中的basicConfig()方法对日志做简单设置

import logging

# 设置日志的基本信息
logging.basicConfig(
        level=logging.DEBUG, # 设置等级
        filename = "test.log", # 设置输出文件
        datefmt = "%Y/%m/%d %H:%M:%S", # 设置时间格式
        format = "【%(asctime)s %(levelname)s】 %(lineno)d: %(message)s") # 设置输出格式

logging.debug("debug")
logging.info("info")
logging.warning("warning")
logging.error("error")

运行程序之后,当前目录下会生成一个test.log的文件,内容如下:
这里写图片描述

可见输出格式是按照参数format指定样子生成的,而asctimelevelnamelineno指定的是需要输出哪些内容,这里依次是:时间,日志等级,出现行号,以及日志内容;如果不看小括号中的内容,其实%s%d就是格式占位符


当然basicConfig()的用法并没有完,完整参数如下
- filename:输出文件路径
- filemode:按什么方式写入,w表示清空内容之后写入,a表示追加(默认追加模式)
- datefmt:设置时间格式
- style:当format传入了参数的时候,用style参数来指定占位符,可以是:%,{,$

import logging

# 不指定style时,默认%
logging.basicConfig(
        level=logging.DEBUG,
        datefmt = "%Y/%m/%d",
        filename = "test.log",
        format = "%(asctime)s %(message)s")

# 指定用符号 {
   
logging.basicConfig(
        level=logging.DEBUG,
        style = "{",
        datefmt = "%Y/%m/%d",
        filename = "test.log",
        format = "{asctime} {message}")

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值