python log模块的简单示例

python log 模块的简单示例

条件:引用 logging模块

简短示例如下:

# --- app.py --------------------------------------------------------------------
import logging

logging.warn("Hello")
logging.error("Still here...")
logging.warn("Goodbye")

执行命令: python app.py, 输出结果如下所示:

WARNING:root:Hello
ERROR:root:Still here...
WARNING:root:Goodbye


不用着急,输出log的格式,这是可以配置的。

# --- mymodule.py --------------------------------------------------------------------
import logging
log = logging.getLogger("MyModule")

def doIt():
    log.debug("doin' stuff")
    #do stuff...but suppose an error occurs?
    raise TypeError, "bogus type error for testing"

# --- myapp.py -----------------------------------------------------------------------
import logging, mymodule

logging.basicConfig()

log = logging.getLogger("MyApp")
log.setLevel(logging.DEBUG) #set verbosity to show all messages of severity >= DEBUG
log.info("Starting my app")
try:
    mymodule.doIt()
except Exception, e:
    log.exception("There was a problem.")
log.info("Ending my app")


执行命令:python myapp.py, 输出结果如下所示:

INFO:MyApp:Starting my app
ERROR:MyApp:There was a problem.
Traceback (most recent call last):
  File "myapp.py", line 9, in ?
    mymodule.doIt()
  File "mymodule.py", line 7, in doIt
    raise TypeError, "Bogus type error for testing"
TypeError: Bogus type error for testing
INFO:MyApp:Ending my app

logging 模块中,日志默认分为5个等级,分别为: DEBUG 、 INFO 、 WARNING 、 ERROR 、 CRITICAL

logging 模块中,Handlers 有以下几种:
  • StreamHandler - logging to a stream, defaulting to sys.stderr.
  • FileHandler - 记录硬盘文件
  • RotatingFileHandler - 记录硬盘文件,支持分解回滚
  • SocketHandler - 记录socket流
  • DatagramHandler - 记录UDP socket
  • SMTPHandler - 记录电子邮件地址
  • SysLogHandler - 记录 Unix 系统日志
  • MemoryHandler - 当缓冲区慢的时候,记录内存数据
  • NTEventLogHandler - 记录NT事件
  • HTTPHandler - 记录向web服务器发送的事件

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值