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()

结果如下:

log.txt_show.png
logging_cmd_show.png

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 128,898评论 18 137
  • 在之前的多个项目中都有用到过logging模块,虽然用过,但没有研究过,只是在每个代码文件中使用logger=lo...
    KenHan阅读 727评论 0 2
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 164,060评论 24 696
  • 他 冰冷铠甲,风光戎马。 她 身披彩霞,紫青未拔。 那年 只等情郎,夺剑娶她。 怎料 世事无常,千变万化。 人世间...
    思临阅读 117评论 0 1
  • 微微雨的天气,特别喜欢。一切风景,花草,人物,在雨天里都像加了美图秀秀的滤镜,平添了神秘朦胧的美感。 白娘子在雨天...
    梦小仙杂记阅读 176评论 3 4
  • 今天早上5:00起床,5:30~6:00练习“永”字,如下: 晚上7:00~8:20,练习“实”字,赵孟頫先生,清...
    ZHICHENGWUXI阅读 212评论 0 0
  • 此次的秦皇岛之行圆满结束!第一次跟那么多孩子一起旅行,虽然是去做服务,但是还是过得很开心。 感受一下我们丰富的两天...
    亲子时间阅读 441评论 0 1