zoukankan      html  css  js  c++  java
  • Python打印log,包括行号,路径,方法名,文件

    logger.py 文件


     #!/usr/bin/python
     # coding: utf-8
      
     import logging
     import logging.handlers
     from logging import *
     from datetime import *
     
     logger = logging.getLogger()
     logger.setLevel(logging.DEBUG)
     
     rht = logging.handlers.TimedRotatingFileHandler("reindex_out.log", 'D')
     fmt = logging.Formatter("%(asctime)s %(pathname)s %(filename)s %(funcName)s %(lineno)s 
          %(levelname)s - %(message)s", "%Y-%m-%d %H:%M:%S")
     rht.setFormatter(fmt)
     logger.addHandler(rht)
     
     debug = logger.debug
     info = logger.info
     warning = logger.warn
     error = logger.error
     critical = logger.critical


    测试脚本

    #!/usr/bin/env python
    # coding utf-8
     
    from logger import *
    import sys
    import os
     
    info("log from logger info")
    
    debug("this is from test.py")
    print 'current dir is ' + os.getcwd()

    format: 指定输出的格式和内容,format可以输出很多有用信息,如上例所示:
     
    %(levelno)s:         打印日志级别的数值
     %(levelname)s:    打印日志级别名称
     %(pathname)s:    打印当前执行程序的路径,其实就是sys.argv[0]
     %(filename)s:      打印当前执行程序名
     %(funcName)s:    打印日志的当前函数
     %(lineno)d:         打印日志的当前行号
     %(asctime)s:      打印日志的时间
     %(thread)d:        打印线程ID
     %(threadName)s: 打印线程名称
     %(process)d:      打印进程ID
     %(message)s:    打印日志信息

    datefmt: 指定时间格式,同time.strftime()

    level: 设置日志级别,默认为logging.WARNING

    级别 对应的值
    CRITICAL 50
    ERROR 40
    WARNING 30
    INFO 20
    DEBUG 10
    NOTSET 0

    可以给日志对象(Logger Instance)设置日志级别,低于该级别的日志消息将会被忽略,也可以给Hanlder设置日志级别,对于低于该级别的日志消息, Handler也会忽略。


  • 相关阅读:
    【ci框架】ci框架目录结构分析
    php CI框架
    jQuery boxy弹出层插件中文演示及讲解
    Jenkins构建报错(Jenkins is reserved for jobs with matching label expression)解决办法
    redis缓存数据架构实战
    Git免密码pull&push
    Maven搭建Nexus私有仓库
    Windows使用filezilla搭建FTP服务器
    CentOS7.4使用yum安装MySQL5.6
    MySQL数据库连接池导致页面登录无法查询问题解决过程
  • 原文地址:https://www.cnblogs.com/java20130722/p/3206780.html
Copyright © 2011-2022 走看看