• 技术文章 >常见问题 >Python常见问题

    python怎么记录日志

    (*-*)浩(*-*)浩2019-08-31 11:15:03原创2548
    这篇文章介绍了 Python 的 logging 模块。

    为什么使用 logging 模块?

    也许会有开发者会问,为什么不是简单的 print 语句呢? Logging 模块有很多优势,包括:

    多线程支持

    通过不同级别的日志分类

    灵活性和可配置性

    将如何记录日志与记录什么内容分离

    最后一点,将我们记录内容从记录方式中真正分离,保证了软件不同部分的合作。举个例子,它允许一个框架或库的开发者增加日志并且让系统管理员或负责运行配置的人员决定稍后应该记录什么。

    使用起来还是很方便的。

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    20

    21

    22

    #!/usr/bin/env python

    # -*- coding: utf-8 -*-

    import logging

    # create a log file

    logger = logging.getLogger('atp_log')

    logger.setLevel(logging.DEBUG)

    # create a handler, write the log info into it

    fh = logging.FileHandler('atp.log')

    fh.setLevel(logging.DEBUG)

    # create another handler output the log though console

    ch = logging.StreamHandler()

    ch.setLevel(logging.DEBUG)

    # 定义handler的输出格式

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

    fh.setFormatter(formatter)

    ch.setFormatter(formatter)

    # 给logger添加handler

    logger.addHandler(fh)

    logger.addHandler(ch)

    # 记录一条日志

    logger.info('foorbar')

    logger.error('foorbar')

    之后,我们队logger输入info warning或者error都可以,而且会被记录在日志文件里面。当然,上面的代码中,我们在设置

    1

    fh = logging.FileHandler('atp.log')

    这个文件的logger也创建了一个从console的日志显示的地方。

    1

    ch = logging.StreamHandler()

    之后,我们就可以看到在文件和console中都会有相应的信息出现。

    专题推荐:python
    上一篇:python如何读取数据 下一篇:python安装32位还是64位

    相关文章推荐

    • python目录不存在则创建• python不可打印字符• python判断是否为函数

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网