deer2010 发表于 2015-12-2 14:57:41

Python(2.7.6) 标准日志模块的简单示例

  Python 标准库中的 logging 模块提供了一套标准的 API 来处理日志信息的打印。



import logging
logging.basicConfig(
level    = logging.DEBUG,
format   = '%(asctime)s [%(threadName)s] (%(filename)s:%(lineno)d) %(levelname)s - %(message)s',
datefmt= '%Y-%m-%d %H:%M:%S',
filename = 'myapp.log',
)
logging.debug('This is a debug message')
logging.info('This is an info message')
logging.warning('This is a warning message')
  在 myapp.log 中打印出的日志如下:



2015-03-11 15:54:34 (logging_demo.py:10) DEBUG - This is a debug message
2015-03-11 15:54:34 (logging_demo.py:11) INFO - This is an info message
2015-03-11 15:54:34 (logging_demo.py:12) WARNING - This is a warning message
  logging.basicConfig 函数的参数说明:




参数
说明




filename
用户创建 FileHandler 实例的文件名


filemode
日志文件的打开模式,默认为 'a'


format
日志的输出格式


datefmt
时间的输出格式


level
日志级别,大小关系为 CRITICAL(50) > ERROR(40) > WARNING(30) > INFO(20) > DEBUG(10) > NOTSET(0)


stream
用于初始化 StreamHandler 的流,此参数与 filename 一起指定时,会被忽略掉


  
  
  
  
  
  
  
  logging 中的格式化符号:




符号
说明


%(asctime)s
时间


%(filename)s
文件名


%(funcName)s
函数名


%(levelname)s
日志级别值


%(levelno)s
日志级别


%(lineno)d
行号


%(module)s
模块


%(message)s
日志消息


%(name)s
日志名称


%(pathname)s
logger的名称


%(process)d
进程ID


%(processName)s
进程名


%(thread)d
线程ID


%(threadName)s
线程名


页: [1]
查看完整版本: Python(2.7.6) 标准日志模块的简单示例