向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确定)

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何在Spring Boot 2.2.0中添加弹性搜索?   jakarta ee如何在没有java认证的情况下停止直接访问网页(自定义标记)   java Hibernate:使用executeUpdate()的批删除未清除一级缓存   java如何在Hibernate中插入外键定义为Long的实体?   带参数的java Mockito单元测试计算器方法   java如何从Rally Rest API读取集合属性   java如何对基于消息的处理执行集成测试?   带插入排序的java排序字符串数组标记,双链表   java为什么在基于注释的Spring app@Value默认值中解析为null?   java Apache Commons Http客户端注册特定于客户端的协议   如何使用java反转字符串中n个部分的n个字符   java Tomcat在本地主机上运行良好,但在部署时出现内部服务器错误   使用信号量的变量的java结果   Java编译/运行时类路径问题   java哪个提供商负责AES/CTR/NOP添加?   伪错误解码器中的java响应未获取Zalando问题自定义属性