Python 之logging

Posted asap

tags:

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

参考视频:https://www.youtube.com/watch?v=dvtjV4Xmtj0

1.简单用法,不能同时输出到屏幕加文件。 可以用logging.basicConfig()配置。

# Demo https://rgb-24bit.github.io/blog/2018/python-logging.html
logging.basicConfig(level=logging.DEBUG, format=‘%(asctime)s - %(name)s - %(levelname)s - %(message)s‘)
logging.warning(‘This will get logged‘)

2.1 若要同时输出到屏幕加文件。需要用handler 处理

技术图片

 

import os
import logging

logger = logging.getLogger() # create instance 对象实例

fh = logging.FileHandler(‘logging_test.log‘)
ch = logging.StreamHandler()


fm=logging.Formatter("%(asctime)s %(message)s")

fh.setFormatter(fm)
ch.setFormatter(fm)

logger.addHandler(fh)
logger.addHandler(ch)

logger.setLevel("DEBUG")  # 默认为warning, 打印3行

 

logger =logger()
logger.debug(‘debug‘)
logger.info("info")
logger.warning("warning")
logger.error("error")
logger.critical("critical")

2.2. 基本用法如2.1.

一般可以封装为一个函数,返回logger ,直接调用。

import os
import logging

‘‘‘
# Demo https://rgb-24bit.github.io/blog/2018/python-logging.html
logging.basicConfig(level=logging.DEBUG, format=‘%(asctime)s - %(name)s - %(levelname)s - %(message)s‘)
logging.warning(‘This will get logged‘)
‘‘‘

def logger():
    
    logger = logging.getLogger() # create  instance

    fh = logging.FileHandler(logging_test.log)
    ch = logging.StreamHandler()


    fm=logging.Formatter("%(asctime)s %(message)s")

    fh.setFormatter(fm)
    ch.setFormatter(fm)

    logger.addHandler(fh)
    logger.addHandler(ch)

    logger.setLevel("DEBUG")

    return logger

logger =logger()
logger.debug(debug)
logger.info("info")
logger.warning("warning")
logger.error("error")
logger.critical("critical")

 

3. Log 是树形关系,子log. 避免才坑,参考视频:

 

参考视频:https://www.youtube.com/watch?v=dvtjV4Xmtj0  

 

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

Python自动化运维之常用模块—logging

Java中的日志——Java.util.logginglog4jcommons-logging

python logging模块

Python---进阶---logging---装饰器打印日志2

python的logging日志模块

python 的日志logging模块学习