python 日志模块使用

1 logging介绍

1.1 logger

  • 提供日志接口,供应用代码使用。logger最常用的操作有两类:配置和发送日志消息。通过logging.getLogger(name)来获得对象

1.2 handler

  • 将日志记录以一定的格式发送到合适的目的地。一个logger对象可以通过addHandler可以添加多个handler,还可以设置不同的日志级别

1.3 filter

  • 提供一种优雅的方式决定一个日志记录是否发送到handler

1.4 formatter

  • 提供日志记录具体的输出格式

2 logging 配置

2.1 通过python代码配置

#!/usr/bin/python
# -*- coding:utf-8 -*-
""" logger 日志 """

import logging
import logging.handlers

handler = logging.handlers.RotatingFileHandler("mylog.log");
formater = logging.Formatter("%(asctime)s -  %(name)s - %(filename)s:%(lineno)d - %(message)s")
handler.setFormatter(formater)

logger = logging.getLogger('main')
logger.addHandler(handler)
logger.setLevel(logging.DEBUG)

logger.debug("the logger out")

2.2 通过配置文件配置

  • 编写logging.conf
    [loggers]
    keys=root,main
    
    [handlers]
    keys=consoleHandler,fileHandler
    
    [formatters]
    keys=mainFormatter
    
    [logger_root]
    level=DEBUG
    handlers=consoleHandler
    
    [logger_main]
    level=DEBUG
    handlers=fileHandler
    qualname=main
    
    [handler_consoleHandler]
    class=StreamHandler
    level=DEBUG
    formatter=mainFormatter
    args=(sys.stdout,)
    
    
    [handler_fileHandler]
    class=logging.handlers.RotatingFileHandler
    level=DEBUG
    formatter=mainFormatter
    args=("mylog.log",)
    
    [formatter_mainFormatter]
    format="%(asctime)s -  %(name)s - %(filename)s:%(lineno)d - %(message)s"
    datefmt=
    
  • 编写python程序导入配置
    #!/usr/bin/python
    # -*- coding:utf-8 -*-
    """ logging config 方式"""
    
    import logging
    import logging.config
    
    logging.config.fileConfig("logging.conf")
    root_logger = logging.getLogger('root')
    logger = logging.getLogger('main')
    
    
    root_logger.debug("root logging")
    logger.debug("main logging")
    

详情参考http://python.usyiyi.cn/python_278/library/logging.html

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值