ITPub博客

首页 > 应用开发 > IT综合 > Python logging 模块使用

Python logging 模块使用

原创 IT综合 作者:G8bao7 时间:2015-11-20 16:09:57 0 删除 编辑

# 代码设置
【输出到屏幕】

点击(此处)折叠或打开

  1. import logging
  2. logging.basicConfig(level=logging.INFO,
  3. format='%(asctime)s [%(levelname)s] %(filename)s[line:%(lineno)d] %(message)s',
  4. datefmt='%Y-%m-%d %H:%M:%S')
  5. logging.info("message")
  6. logging.warning("message")
  7. logging.error("message")



# 从配置文件读取

点击(此处)折叠或打开

  1. #!/usr/bin/env python
  2. # coding= utf-8
  3. import logging
  4. import logging.config
  5. logging.config.fileConfig("etc/logger.conf")
  6. lgs = "root,main,mysql,oracle,mongodb,os,alarm".split(",")
  7. for lg in lgs:
  8.     msg = "test '%s' logger..." % (lg)
  9.     lg_logger = logging.getLogger(lg)
  10.     lg_logger.debug(msg)
  11.     lg_logger.info(msg)



# 配置文件 logger.cnf

点击(此处)折叠或打开

  1. ###############################################
    [loggers]
    keys=root,main,mysql,oracle,mongodb,os,alarm

    [logger_root]
    qualname=root
    level=DEBUG
    handlers=root,main

    [logger_main]
    qualname=main
    level=INFO
    handlers=root,main

    [logger_mysql]
    qualname=mysql
    level=INFO
    handlers=mysql

    [logger_oracle]
    qualname=oracle
    level=INFO
    handlers=oracle

    [logger_mongodb]
    qualname=mongodb
    level=INFO
    handlers=mongodb

    [logger_os]
    qualname=os
    level=INFO
    handlers=os

    [logger_alarm]
    qualname=alarm
    level=INFO
    handlers=alarm

    ###############################################
    [handlers]
    keys=root,main,mysql,oracle,mongodb,os,alarm

    [handler_root]
    class=StreamHandler
    formatter=form01
    args=(sys.stderr,)

    [handler_main]
    class=handlers.RotatingFileHandler
    formatter=form01
    # 超过20M切换,保留3份
    args=('logs/main.log', 'a', 20971520, 3)

    [handler_mysql]
    class=handlers.TimedRotatingFileHandler
    formatter=form02
    args=('logs/mysql.log', 'd', 1, 1)

    [handler_oracle]
    class=handlers.TimedRotatingFileHandler
    formatter=form02
    args=('logs/oracle.log', 'd', 1, 1)

    [handler_mongodb]
    class=handlers.TimedRotatingFileHandler
    formatter=form02
    # TimedRotatingFileHandler(filename, when='h', interval=1, backupCount=0, encoding=None, delay=False, utc=False)
    # 每天切换一次,保留一份备份
    args=('logs/mongodb.log', 'd', 1, 1)

    [handler_os]
    class=handlers.RotatingFileHandler
    formatter=form02
    # RotatingFileHandler(filename, mode='a', maxBytes=0, backupCount=0, encoding=None, delay=0)
    # 超过10M切换,保留3份
    args=('logs/os.log', 'a', 10485760, 3)

    [handler_alarm]
    class=handlers.RotatingFileHandler
    formatter=form02
    # 超过10M切换,保留1份
    args=('logs/alarm.log', 'a', 10485760, 1)

    ###############################################
    [formatters]
    keys=form01,form02

    [formatter_form01]
    format=%(asctime)s [%(levelname)s] %(message)s
    datefmt=%Y-%m-%d %H:%M:%S

    [formatter_form02]
    format=%(asctime)s [%(levelname)s] %(filename)s[line:%(lineno)d] %(message)s
    datefmt=%Y-%m-%d %H:%M:%S

Handler 说明 : https://docs.python.org/2/library/logging.handlers.html
formatter 属性: https://docs.python.org/2/library/logging.html#logging.LogRecord



来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/26250550/viewspace-1842126/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2013-11-04

  • 博文量
    496
  • 访问量
    1258282