日志模块的使用

1、日志:用来记录程序运行过程中的各种时间,日志一般分为五个级别,未指定级别时一般默认为warning级别,(只输出大于指定级别的日志)。

最高级:DEBUG级别用来调试,INFO级别程序正常运行过程中产生的一些信息,WARNING警告用户虽然程序在运行,但有可能会发生错误,ERROR由于某些严重错误,程序已经不能执行某些功能,CRITICAL代码发生严重错误,已经不能运行。

实例:

import logging

print('this is a logging')
logging.debug("this is a debug logging")
logging.info("this is a info logging")
logging.warning("this is a warning logging")
logging.critical("this is a critical logging")

默认的日志输出级别是warning,故只会输出后边两种日志。

指定日志输出级别:使用logging.basicConfig()函数

print('this is a logging')

logging.basicConfig(level=logging.DEBUG)
logging.debug("this is a debug logging")
logging.info("this is a info logging")
logging.warning("this is a warning logging")
logging.critical("this is a critical logging")

       整个日志标准库是一个多线程。所有通过logging输出的日志是一致的,但是不能保证与print一致。print与logging不能混。

2、print仅仅输出打印内容(字符串),logging不仅输出字符串,且输出当前日志级别,root:记录器。

3、像文件中输出日志:basicConfig(),将日志信息输出到当前目录下(自己创建文件),默认的输出日志内容是追加在文件内容之后的。

logging.basicConfig(filename = 'demo.log', level = logging.DEBUG)

先清空文件在写入文件:

logging.basicConfig(filename = 'demo.log', filemode = 'w', level = logging.DEBUG)

也可给日志中放入变量:(以%的形式给定变量)

logging.basicConfig(level = logging.DEBUG)
logging.debug("姓名 %s, 年龄 %d","张三", 18)

以%运算符格式化字符串:

logging.basicConfig(level = logging.DEBUG)
logging.debug("姓名 %s, 年龄 %d" %(name, age))

以format格式

logging.basicConfig(level = logging.DEBUG)
logging.debug("姓名{}, 年龄 {}".format(name, age))

以f-string方法:定义日志内容主体

logging.debug(f"姓名{name}, 年龄{age}")

输出添加格式和公共信息:%(format)s表示输出日志内容,一定会有


logging.basicConfig(format = "%(message)s",level=logging.DEBUG)
name = "lida"
age = 18
logging.debug("姓名:{},年龄{}".format(name,age))

asctime:当前日志运行时间,levelname:日志级别姓名,message:日志内容,filename:文件名。


logging.basicConfig(format = "%(asctime)s | %(levelname)s |%(message)s",level=logging.DEBUG)
name = "lida"
age = 18
logging.debug("姓名:{},年龄{}".format(name,age))

自定义时间参数类型:datefmt,

logging.basicConfig(format = "%(asctime)s | %(message)s | %(levelname)s",
                    datefmt="%Y-%m-%d %H:%M:%S",level=logging.DEBUG)
logging.debug("姓名:{},年龄{}".format("cahi",24))

1、log = logging.getLogger(__name__)对日志进行初始化,name可不填。多次使用相同的名字调用getLogger()会一直返回相同的Logger对象的引用。

log.info()程序正常运行过程中产生的一些信息。

2、os.getenv(key,default = None)返回环境变量键得值(存在情况),否则返回默认值

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

。七十二。

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值