• Python学习---重点模块之logging


    日志级别

    日志级别  critical > error > warning > info > debug, 默认是从warning开始打印

    import logging
    
    # 日志级别  critical > error > warning > info > debug
    logging.debug('hello world')
    logging.info('hello world')
    logging.warning('hello world')
    logging.error('hello world')
    logging.critical('hello world')
    image_thumb

    日志的配置

    配置的 basicConfig文件只能输出到文件中,但是配合stream参数可以达到屏幕/文件均输出的效果

    默认追加模式

    默认是输出到屏幕,有filename则输出到文件

    直接用logging配置
    import logging
    # 配置的 basicConfig文件只能输出到文件中,但是配合stream参数可以达到屏幕/文件均输出的效果
    logging.basicConfig(level=logging.DEBUG,  ormat='%(asctime)s %(filename)s[line:%(lineno)d] %(levelname)s %(message)s',
                        datefmt='%a, %d %b %Y %H:%M:%S',
                        #stream 输出的流
                        filename='test.log', # 默认是输出到屏幕,有filename则输出到文件
                        filemode='a')   # 默认追加模式
    
    logging.debug('debug message')
    logging.info('info message')
    logging.warning('warning message')
    logging.error('error message')
    logging.critical('critical message')
     

    format参数中可能用到的格式化串:

    %(name)s Logger的名字

    %(levelno)s 数字形式的日志级别

    %(levelname)s 文本形式的日志级别

    %(pathname)s 调用日志输出函数的模块的完整路径名,可能没有

    %(filename)s 调用日志输出函数的模块的文件名

    %(module)s 调用日志输出函数的模块名

    %(funcName)s 调用日志输出函数的函数名

    %(lineno)d 调用日志输出函数的语句所在的代码行

    %(created)f 当前时间,用UNIX标准的表示时间的浮 点数表示

    %(relativeCreated)d 输出日志信息时的,自Logger创建以 来的毫秒数

    %(asctime)s 字符串形式的当前时间。默认格式是 “2003-07-08 16:49:45,896”。逗号后面的是毫秒

    %(thread)d 线程ID。可能没有

    %(threadName)s 线程名。可能没有

    %(process)d 进程ID。可能没有

    %(message)s用户输出的消息

    logger对象:可以文件打印,也可以屏幕输出

    import logging
    # 创建了一个logger对象,并且命名为
    log = logging.Logger('user_logger', level=logging.INFO)
    # 更改日志级别,默认是warning级别
    # log.setLevel(logging.DEBUG)
    # 文件输出对象
    log_txt = logging.FileHandler('log.log')
    # 屏幕输出对象
    log_str = logging.StreamHandler()
    log_format = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s -[line:%(lineno)d]- %(message)s')
    # 屏幕输出
    log_str.setFormatter(log_format)
    # 文件输出
    log_txt.setFormatter(log_format)
    
    # log 对象添加屏幕输出
    log.addHandler(log_str)
    # log 对象添加文件输出
    log.addHandler(log_txt)
    # 输出内容,默认warning以上的log都可以打印
    log.debug('log debug message')
    log.info('log info message')
    log.warning('log warning message')
    log.error('log error message')
    log.critical('log critical message')

    image

  • 相关阅读:
    吴裕雄--天生自然轻量级JAVA EE企业应用开发Struts2Sping4Hibernate整合开发学习笔记:Spring_Around
    吴裕雄--天生自然轻量级JAVA EE企业应用开发Struts2Sping4Hibernate整合开发学习笔记:Spring_Args
    吴裕雄--天生自然轻量级JAVA EE企业应用开发Struts2Sping4Hibernate整合开发学习笔记:Spring_AfterThrowing
    (05)mongodb 查询表达式
    (04)mongodb 关于列的操作
    (03)mongodb 数据添加、修改、删除
    (02)mongodb 数据库与collection的基本操作
    (01)mongodb 安装、配置、启动、关闭
    (002)Linux vim命令模式下快捷键保存并退出ZZ
    Linux备份与恢复
  • 原文地址:https://www.cnblogs.com/ftl1012/p/logging.html
Copyright © 2020-2023  润新知