import logging
from logging.handlers import SMTPHandler
from logging import StreamHandler
logging.basicConfig(level=logging.DEBUG,
format='%(asctime)s %(filename)s[line:%(lineno)d] %(levelname)s %(message)s',
datefmt='%F %H:%M:%S',
filename='myapp.log',
filemode='w')
#################################################################################################
#定义一个SMTPHandler,将ERROR级别或更高的日志信息发送到指定邮箱,并将其添加到当前的日志处理对象#
handler = SMTPHandler(('smtp.163.com',25), 'xxxx@163.com', ['xxxx@163.com'], 'Test SMTPHandler', ('username', '****'))
handler.setLevel(logging.ERROR)
formatter = logging.Formatter('%(asctime)s(%(msecs)-3d)|%(process)-5d [%(module)s:%(lineno)s] %(levelname)-8s: %(message)s',datefmt='%F %X')
handler.setFormatter(formatter)
logging.getLogger('').addHandler(handler)
#定义一个StreamHandler,将INFO级别或更高的日志信息打印到标准错误,并将其添加到当前的日志处理对象#
console = StreamHandler()
console.setLevel(logging.INFO)
formatter = logging.Formatter('%(asctime)s(%(msecs)-3d)|%(process)-5d [%(module)s:%(lineno)s] %(levelname)-8s: %(message)s',datefmt='%F %X')
console.setFormatter(formatter)
logging.getLogger('').addHandler(console)
#################################################################################################
logging.debug('This is debug message')
logging.info('This is info message')
logging.critical('This is critical message')
# logging.StreamHandler: 日志输出到流,可以是sys.stderr、sys.stdout或者文件
# logging.FileHandler: 日志输出到文件
# 日志回滚方式,实际使用时用RotatingFileHandler和TimedRotatingFileHandler
# logging.handlers.BaseRotatingHandler
# logging.handlers.RotatingFileHandler
# logging.handlers.TimedRotatingFileHandler
# logging.handlers.SocketHandler: 远程输出日志到TCP/IP sockets
# logging.handlers.DatagramHandler: 远程输出日志到UDP sockets
# logging.handlers.SMTPHandler: 远程输出日志到邮件地址
# logging.handlers.SysLogHandler: 日志输出到syslog
# logging.handlers.NTEventLogHandler: 远程输出日志到Windows NT/2000/XP的事件日志
# logging.handlers.MemoryHandler: 日志输出到内存中的制定buffer
# logging.handlers.HTTPHandler: 通过"GET"或"POST"远程输出到HTTP服务器
Python日志模块
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 参考:https://docs.python.org/2/library/logging.html Logging...
- 本文的坑儿,主要是在日志滚动这一块,当然,如果你的应用一直在打日志,系统时间一直是正确的,那么 python(2....
- 1. 通过logging.basicConfig函数对日志的输出格式及方式做相关配置 logging.basicC...
- 本篇文章主要对 python logging 的介绍加深理解。更主要是 讨论在多进程环境下如何使用logging ...