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

    python如何打印日志

    (*-*)浩(*-*)浩2019-08-26 09:55:17原创3138

    默认情况下,python使用logging模块将日志打印到屏幕上(stdout),日志级别为WARNING(即只有日志级别高于WARNING的日志信息才会输出),日志格式如下图所示:

    简单使用

    #!/usr/local/bin/python# -*- coding:utf-8 -*-import logging
    
    logging.debug('debug message')
    logging.info('info message')
    logging.warn('warn message')
    logging.error('error message')
    logging.critical('critical message')

    输出

    WARNING:root:warn message
    ERROR:root:error message
    CRITICAL:root:critical message

    通过logging.basicConfig函数对日志的输出格式及方式做相关配置。logging.basicConfig(**kwargs) 该函数必须在main函数线程除外的子线程启动之前调用,否则可能会造成日志重复记录

    import logging
     
    fmt = '%(asctime)s %(filename)s[line:%(lineno)d] %(levelname)s: %(message)s'
    logging.basicConfig(level=logging.DEBUG,
                        format=fmt,
                        filename='D:\Python\logs.txt',
                        filemode='w',
                        datefmt='%a, %d %b %Y %H:%M:%S'
                        )
    logging.debug('this is a debug level message')
    logging.info("this is a info level message")
    logging.warning("this is a warning level message")
    logging.error("this is a error level message")
    logging.critical("this is a critical level message")

    filename:创建一个FileHandler,使用指定的文件名,而不是使用StreamHandler。

    filemode:如果指明了文件名,指明打开文件的模式(如果没有指明filemode,默认为'a')。

    format:handler使用指明的格式化字符串。

    datefmt:使用指明的日期/时间格式。

    专题推荐:python
    上一篇:python如何导入模块 下一篇:Python - if-else 的多种简洁写法

    相关文章推荐

    • 怎么看python的版本

    全部评论我要评论

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

  • 取消发布评论
  • 

    Python学习网