向https端点发送消息的python日志处理程序。
oxomo的Python项目详细描述
python日志记录处理程序
----------
一个简单的python日志记录处理程序,可用于发送到https端点。从graypy日志库中借用了额外字段的概念。
###配置
创建配置文件python.conf并将rocketchat handler添加到配置文件中。
[handlers]
keys=rocketchathandler
[handler\rocketchathandler]
class=oxomo.handlers.rocketchathandler
formatter=jsonformat
args=(“rocketchat\u webhook\u url”,“post”)
[formatter s]
keys=jsonformat
[loggers]
keys=root
[logger\u root]
handlers=rocketchathandler
level=error
[formatter\u jsonformat]
format={“logger name”:“%(name)s”,“ascitime”:“%(asctime)s”,“filename”:“%(filename)s”,“logrecordcreationtime”:“%(created)f”,“functionname”:“%(funcname)s”,“levelno”:“%(levelno)s”,“lineno”:“%(lineno)d”,“time”:“%(msec)d”,“levelname”:“%(levelname)s”,“message”:“%(message)s”}
datefmt=
\python文件中的使用配置
import logging.config
import oxomo.handlers
logger=logging.getlogger('mylogger')
logger.error('test error log')
未捕获异常作为错误的异常
def sys exception\u异常处理程序(类型,值,tb):
logger.error(“未捕获异常:{0}”。format(str(值)))
sys.
sys.\u exceptipthook(类型,值,tb)
sys.exceptipthook=sys excepthook=sysexception\异常处理程序
={
“版本”:1,< BR/> 'Br./Br> >格式化程序>:{
“格式”:'%(LealNeX)S%(ActhTimes)%%(进程)d%(线程)d%(消息)s 'BR/> },
“简单”:{'BR/>格式>:'%(LealNeX)S%(消息)s 'BR/> },
'json':{
'format':'{“loggername”:“%(name)s”,“ascitime”:“%(asctime)s”,“filename”:“%(filename)s”,“logrecordcreationtime”:“%(created)f”,“functionname”:“%(funcname)s”,“levelno”:“%(levelno)s”,“lineno”:“%(lineno)d”,“time”:“%(msec)d”,“levelname”:“%(levelname)s”,“message”:“%(message)s”},
},
},
'处理程序':{
'控制台':{
'类':'日志记录.流处理程序',
'级别':'调试',
'格式化程序':'详细',
},
'oxomo':{
'类':'oxomo.处理程序.rocketchathandler',
'级别':'信息',
'formatter':'json',
'url':'rocketchat'u webhook'url',
},
},
'loggers':{
'django':{
'handlers':['console',],
'level':os.getenv('django'u log'level','info'),
},
'your'u app'name':{
'处理程序':['console','oxomo'],
'level':'info',
},
},
}
消息')
logger.error('this is error message.')
logger.critical('this is critical message.')
return response({},status=status.http 200-u确定)
----------
一个简单的python日志记录处理程序,可用于发送到https端点。从graypy日志库中借用了额外字段的概念。
###配置
创建配置文件python.conf并将rocketchat handler添加到配置文件中。
[handlers]
keys=rocketchathandler
[handler\rocketchathandler]
class=oxomo.handlers.rocketchathandler
formatter=jsonformat
args=(“rocketchat\u webhook\u url”,“post”)
[formatter s]
keys=jsonformat
[loggers]
keys=root
[logger\u root]
handlers=rocketchathandler
level=error
[formatter\u jsonformat]
format={“logger name”:“%(name)s”,“ascitime”:“%(asctime)s”,“filename”:“%(filename)s”,“logrecordcreationtime”:“%(created)f”,“functionname”:“%(funcname)s”,“levelno”:“%(levelno)s”,“lineno”:“%(lineno)d”,“time”:“%(msec)d”,“levelname”:“%(levelname)s”,“message”:“%(message)s”}
datefmt=
\python文件中的使用配置
import oxomo.handlers
logger.error('test error log')
未捕获异常作为错误的异常
def sys exception\u异常处理程序(类型,值,tb):
logger.error(“未捕获异常:{0}”。format(str(值)))
sys.
sys.\u exceptipthook(类型,值,tb)
sys.exceptipthook=sys excepthook=sysexception\异常处理程序
={
“版本”:1,< BR/> 'Br./Br> >格式化程序>:{
“格式”:'%(LealNeX)S%(ActhTimes)%%(进程)d%(线程)d%(消息)s 'BR/> },
“简单”:{'BR/>格式>:'%(LealNeX)S%(消息)s 'BR/> },
'json':{
'format':'{“loggername”:“%(name)s”,“ascitime”:“%(asctime)s”,“filename”:“%(filename)s”,“logrecordcreationtime”:“%(created)f”,“functionname”:“%(funcname)s”,“levelno”:“%(levelno)s”,“lineno”:“%(lineno)d”,“time”:“%(msec)d”,“levelname”:“%(levelname)s”,“message”:“%(message)s”},
},
},
'处理程序':{
'控制台':{
'类':'日志记录.流处理程序',
'级别':'调试',
'格式化程序':'详细',
},
'oxomo':{
'类':'oxomo.处理程序.rocketchathandler',
'级别':'信息',
'formatter':'json',
'url':'rocketchat'u webhook'url',
},
},
'loggers':{
'django':{
'handlers':['console',],
'level':os.getenv('django'u log'level','info'),
},
'your'u app'name':{
'处理程序':['console','oxomo'],
'level':'info',
},
},
}
消息')
logger.error('this is error message.')
logger.critical('this is critical message.')
return response({},status=status.http 200-u确定)