python logging

logging 可以在程序运行过程中跟踪记录一些值或者事件信息。它提供了一组简便的函数,如debug(),info(),warnig(),error()以及critical().具体如下:
这里写图片描述
logging 模块由四个部分构成:
Loggers:提供应用程序直接使用的接口
Handlers:将Loggers产生的日志传到指定位置
Filters:对输出日志进行过滤
Formatters:控制输出格式
用法实例:

1、直接使用

import logging
logging.basicConfig(level=logging.INFO,     #信息级别
format='%(asctime)s %(filename)s[line:%(lineno)d] %(levelname)s %(message)s',      #文件格式
datefmt='%a, %d %b %Y %H:%M:%S',    #日志时间格式
filename='/tmp/test.log',     #日志文件(注:此处是绝对路径)
filemode='w')

logging.debug('debug message')
logging.info('info message')
logging.warning('warning message')
logging.error('error message')
logging.critical('critical message')

2、定义logging.conf文件

[loggers]
keys=root,simpleExample
[handlers]
keys=consoleHandler
[formatters]
keys=simpleFormatter
[logger_root]
level=DEBUG
handlers=consoleHandler
[logger_simpleExample]
level=DEBUG
handlers=consoleHandler
qualname=simpleExample
propagate=0
[handler_consoleHandler]
class=StreamHandler
level=DEBUG
formatter=simpleFormatter
args=(sys.stdout,)
[formatter_simpleFormatter]
format=%(asctime)s - %(name)s - %(levelname)s - %(message)s

3、创建YAML格式的文件

version: 1
formatters:
  simple:
    format: '%(asctime)s - %(name)s - %(levelname)s - %(message)s'
handlers:
  console:
    class: logging.StreamHandler
    level: DEBUG
    formatter: simple
    stream: ext://sys.stdout
loggers:
  simpleExample:
    level: DEBUG
    handlers: [console]
    propagate: no
root:
  level: DEBUG
  handlers: [console]

猜你喜欢

转载自blog.csdn.net/spur_man/article/details/79443102