Python的logging模块

使用流程

  1. 创建一个logger
  2. 创建一个handler,用于写入日志文件
  3. 定义handler的输出格式
  4. 将handler添加到logger
  5. 记录日志

示例

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import logging

def logInit():
    # 创建一个logger
    logger = logging.getLogger("firstlog")
    logger.setLevel(logging.DEBUG)

    # 创建一个handler,用于写入日志文件
    fh = logging.FileHandler('log.txt')
    fh.setLevel(logging.DEBUG)
    # 再创建一个handler,用于输出到控制台
    ch = logging.StreamHandler()
    ch.setLevel(logging.DEBUG)

    # 定义handler的输出格式
    formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
    fh.setFormatter(formatter)
    ch.setFormatter(formatter)

    # 将handler添加到logger
    logger.addHandler(fh)
    logger.addHandler(ch)


def txtLog():
    # 创建一个logger
    logger = logging.getLogger("secondlog")
    logger.setLevel(logging.DEBUG)

    # 创建一个handler,用于写入日志文件
    fh = logging.FileHandler('log.txt')    #不会显示在终端
    fh.setLevel(logging.DEBUG)

    formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
    fh.setFormatter(formatter)

    logger.addHandler(fh)

def showSomeMsg():
    a = logging.getLogger("firstlog")
    b = logging.getLogger("secondlog")
    
    # 记录几条日志
    a.debug("debug message")
    a.info("info message")
    a.warning("warning message")
    a.error("error message")
    a.critical('critical message')
    b.info("b.info message")
    



def main():
    logInit()
    txtLog()
    showSomeMsg()


main()

结果如下:

Python的logging模块_第1张图片
log.txt_show.png
Python的logging模块_第2张图片
logging_cmd_show.png

你可能感兴趣的:(Python的logging模块)