zoukankan      html  css  js  c++  java
  • python日志添加功能,主要记录程序运行中的日志,统一收集并分析

    转自:https://www.cnblogs.com/jsondai/p/9663633.html

    一、日志的级别

    debug(调试信息) info() warning(警告信息)error(错误信息) critical(致命信息)  从左往右越来越严重
    日志等级(level)描述
    DEBUG 最详细的日志信息,典型应用场景是 问题诊断
    INFO 信息详细程度仅次于DEBUG,通常只记录关键节点信息,用于确认一切都是按照我们预期的那样进行工作
    WARNING 当某些不期望的事情发生时记录的信息(如,磁盘可用空间较低),但是此时应用程序还是正常运行的
    ERROR 由于一个更严重的问题导致某些功能不能正常运行时记录的信息
    CRITICAL 当发生严重错误,导致应用程序不能继续运行时记录的信息
    注意,系统只显示warning(警告信息)级别以上的日志,例如我们输入一下代码:
    import logging
    logging.debug('这是个debug级别的信息')#输出时被过滤掉了
    logging.info('这是个info级别的信息')#输出时被过滤掉了
    logging.warning('这是个warning级别的信息')
    logging.error('这是个error级别的信息')
    logging.critical('这是个critical级别的信息')

    控制台输出

    代码写的是5行数据,实际在控制台只有3行,那是因为系统默认输出 warning(警告)及以上的日志。  

    如果需要全部展示,需要调用

    logging.basicConfig(level=logging.DEBUG) #basicConfig基础配置 可以输入关键字参数,level是等级的意思 logging.DEBUG级别必须大写  如果是调用函数就需要小写

    在level那里展示指定级别。 加上 logging.basicConfig 之后运行,结果如下,能全部展示出来了

    二、日志格式化输出

     将日志输出到控制台或者文件中

    fp = logging.FileHandler('a.txt', encoding='utf-8')   #将日志记录到文件中
    fs = logging.StreamHandler()     #将日志输出到控制台

    放在handler中进行调用 

    复制代码
    import logging
    LOG_FORMAT = "%(asctime)s - %(levelname)s - %(message)s"    # 日志格式化输出
    DATE_FORMAT = "%m/%d/%Y %H:%M:%S %p"                        # 日期格式
    fp = logging.FileHandler('a.txt', encoding='utf-8')
    fs = logging.StreamHandler()
    logging.basicConfig(level=logging.DEBUG, format=LOG_FORMAT, datefmt=DATE_FORMAT, handlers=[fp, fs])    # 调用
    
    
    logging.debug("This is a debug log.哈哈")
    logging.info("This is a info log.")
    logging.warning("This is a warning log.")
    logging.error("This is a error log.")
    logging.critical("This is a critical log.")
    复制代码

    控制台和文件中就都能展示日志了

  • 相关阅读:
    静态切割窗体+关联对话框
    POJ 2236 Wireless Network(并查集)
    怎样学习(3):迭代学习,精益求精
    【菜鸟也疯狂UML系列】——概述
    OpenGL 资源汇编
    vue之mapMutaions的使用 && vuex中 action 用法示例 && api.js的使用
    内置组件 && vue中强大的缓存机制之keep-alive
    vue生命周期及使用 && 单文件组件下的生命周期
    vue中遇到的坑 --- 变化检测问题(数组相关)
    如何去除vue项目中的 # --- History模式
  • 原文地址:https://www.cnblogs.com/fyly/p/11074847.html
Copyright © 2011-2022 走看看