用于将日志发送到logmatic.io的python插件

logmatic-python的Python项目详细描述


logmatic python

指向logmatic.io文档的链接:http://doc.logmatic.io/docs/python

python帮助程序将日志发送到logmatic.io。

它主要包含一个合适的json格式化程序和一个套接字处理程序 将日志直接流到logmatic.io-因此不需要使用日志传送程序 如果你不想的话。

先决条件

要安装此库,请使用以下命令:

pip install logmatic-python

用法

使用json格式化程序

要使用json格式化程序,只需将其与任何处理程序(如 这里是streamhandler。

importlogmaticimportlogginglogger=logging.getLogger()handler=logging.StreamHandler()handler.setFormatter(logmatic.JsonFormatter(extra={"hostname":socket.gethostname()}))logger.addHandler(handler)logger.setLevel(logging.INFO)

完成此设置后,任何子记录器都将使用此配置 (例如logging.getlogger("my_logger"))。如你所见,你可以 将任何额外信息与基本格式化程序关联,如 主机名或任何您需要的环境变量,具体取决于 用法。

test_logger=logging.getLogger("test")test_logger.info("classic message",extra={"special":"value","run":12})

返回以下格式:

{"asctime":"2016-02-16T09:51:31Z","name":"test","processName":"MainProcess","filename":"write_in_console.py","funcName":"<module>","levelname":"INFO","lineno":20,"module":"write_in_console","threadName":"MainThread","message":"classic message","special":"value","run":12,"timestamp":"2016-02-16T09:51:31Z","hostname":"<your_hostname>"}

让我们花点时间来了解我们拥有的:

  • 默认格式为“%(asctime)%(name)%(processname)%(filename) %(函数名)%(级别名)%(行号)%(模块)%(线程名) %(消息)“。所以这就是为什么所有这些属性都存在于 日志事件。如果需要较少的格式,可以在 定义格式化程序:logmatic.JsonFormatter(fmt="",...)
  • 这里的hostname属性一直按原样添加 在根记录器上定义。
  • specialrun属性被专门添加到 此日志事件。

很高兴知道,异常的回溯完全封装在 json事件。这将禁止处理多行格式:

{..."exc_info":"Traceback (most recent call last):\n  File \"test/write_in_console.py\", line 24, in exception_test\n    raise Exception('test')\nException: test",...}

流日志直接到logmatic.io

logmatichandler可以与jsonformatter耦合,如下所示:

importlogmaticimportlogginglogger=logging.getLogger()handler=logmatic.LogmaticHandler("<your_api_key>")handler.setFormatter(logmatic.JsonFormatter(extra={"hostname":socket.gethostname()}))logger.addHandler(handler)logger.setLevel(logging.INFO)

别忘了用你的航海日志上提供的那一个来代替。 站台。

使用此配置,任何来自python应用程序的日志 将被发送到您的平台,并将执行与 在上一节中描述。

如果您想在这个工具集中添加更多内容,请与我们联系!

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

推荐PyPI第三方库


热门话题
java如何使用bouncycastle从pkcs7文件获取证书?   java是向字符串数字添加零的有效方法吗?   Android在外部播放器中播放视频url   如何在Java代码中调用Wildfly事务管理器?   java为什么在使用键盘完成选择时不触发选择事件?   java xpath错误:jaxb外部绑定文件上为null   java如何避免在活动之间切换时出现白屏   Hadoop安装程序中的java“unknown.prolexic.com:未知错误”   要用作out参数的java自定义数字类   java如何向spring控制器的http请求添加属性?   for循环中的java静态值   java为图像编辑器快速、可靠地保存/加载文档状态   java数组越界和空指针异常   java如何在列表<Object>对象包含对象的对象上检查null?   java从URL下载文件到tomcat服务器   GlassFish“ogs3.1.2.2windows.exe”和“ogs3.1.2.2windowsml.exe”文件之间的java差异   无MathLab的Java Gabor图像处理   包含CSV中不存在的其他字段的java mongoimport