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 [MainThread] (logging_demo.py:10) DEBUG - This is a debug message
2015-03-11 15:54:34 [MainThread] (logging_demo.py:11) INFO - This is an info message
2015-03-11 15:54:34 [MainThread] (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  线程名
posted on 2015-03-11 16:53  huey2672  阅读(1010)  评论(0编辑  收藏  举报