您的位置:首页 > 编程语言 > Python开发

python日志模块---logging

2018-03-12 22:35 465 查看
通过ini文件配置logging

logger.ini

[loggers]
keys=root,cLogger,fLogger,cfLogger

[logger_root]
level=DEBUG
handlers=fh

[logger_cLogger]
handlers=ch
qualname=cLogger
propagate=0

[logger_fLogger]
handlers=fh
qualname=fLogger
propagate=0

[logger_cfLogger]
level=DEBUG
handlers=fh,ch
qualname=cfLogger
propagate=0

[handlers]
keys=ch,fh

[handler_ch]
class=StreamHandler
level=DEBUG
formatter=form02
args=(sys.stdout,)

[handler_fh]
class=FileHandler
level=DEBUG
formatter=form01
args=('my.log', 'a')

[formatters]
keys=form01,form02

[formatter_form01]
format=%(asctime)s|%(name)s|%(levelname)s|[%(process)d,%(thread)d]|%(message)s|[%(filename)s,%(lineno)d]
datefmt=%Y-%m-%d %H:%M:%S

[formatter_form02]
format=%(asctime)s|%(name)s|%(levelname)s|[%(process)d,%(thread)d]|%(message)s|[%(filename)s,%(lineno)d]
datefmt=%Y-%m-%d %H:%M:%S


format: 指定输出的格式和内容,如上例所示:

%(levelno)s: 打印日志级别的数值

%(levelname)s: 打印日志级别名称

%(pathname)s: 打印当前执行程序的路径,其实就是sys.argv[0]

%(filename)s: 打印当前执行程序名

%(funcName)s: 打印日志的当前函数

%(lineno)d: 打印日志的当前行号

%(asctime)s: 打印日志的时间

%(thread)d: 打印线程ID

%(threadName)s: 打印线程名称

%(process)d: 打印进程ID

%(message)s: 打印日志信息

loggerdemo.py

# !/usr/bin/env python
# coding:utf-8

from logging.config import fileConfig
import logging

logging.config.fileConfig('logger.ini')
logger=logging.getLogger('cfLogger')
logger.info('hello python.')


屏幕上打印

D:\python\logger-demo> python .\loggerdemo.py

2018-03-12 22:18:42|cfLogger|INFO|[9464,5532]|hello python.|[loggerdemo.py,10]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  python logging logger