Skip to main content

HelloLogger

Push your log to everywhere!


PyPi: https://pypi.org/project/hellologger/

简介

HelloLogger是一个基于Loguru的同时向多个来源投送日志的日志框架,便于快速配置和接入Aliyun、AWS等SaaS;快速投递到ClickHouse、ElasticSearch、GreptimeDB、MongoDB等时序数据库或文档数据库;快速投递到Syslog或调用WebHook

希望这个日志库能帮助您解决复杂项目中留痕和云观测的难题。

数据驱动

file_local (local)

可用的日志源:

  • loguru

可用的数据驱动:

  • loguru.default

可配置项:

  • batch_time: 如果使用loguru,可以设定是否按照时间或者大小分批
  • batch_size: 如果使用loguru,可以设定是否按照时间或者大小分批

file_s3 (s3)

WIP

其实就是本地文件一样的逻辑,只不过考虑不要落盘,全部在内存中进行。需要有好的S3驱动。

saas_aliyun_sls (aliyun)

可用的日志源:

  • loguru

可用的数据驱动:

  • aliyun-restful-api (WIP)
  • aliyun-log-python-sdk

配置指南(aliyun-restful-api)

暂无,可参考官方文档手搓HTTP请求:https://help.aliyun.com/zh/sls/developer-reference/api-postlogstorelogs

配置指南(aliyun-log-python-sdk)

该数据驱动依赖aliyun/aliyun-log-python-sdk项目,您需要提前安装对应package:

pip install aliyun-log-python-sdk

您需要配置2个本地环境变量:

  • ALIYUN_ACCESSKEY_ID
  • ALIYUN_ACCESSKEY_SECRET

需要注意的有:

  1. 环境变量设置后请重启
  2. 请确保您提供的AccessKey具有SLS的写权限。您可以在RAM中进行权限管理。
  3. 即使开通了SLS服务,并创建了一个项目,创建了一个logstore,也必须手动在logstor管理界面进行一次“数据接入”操作,才算实质性开通,否则不允许从python-sdk上传日志。

警告:该数据驱动依赖的包protobuf锁定在较为久远的版本,易与本地其他包依赖的protobuf冲突。建议如果必须采用,可使用如pip install protobuf==3.20.3来强制指定版本。

saas_aws_cloudwatch (aws)

WIP

似乎CloudWatch必须有本地客户端才能打日志,没法直接RESTful API调用。

db_clickhouse (clickhouse)

WIP

db_elasticsearch (elasticsearch)

WIP

计划依赖 https://pypi.org/project/elasticsearch-logging-handler/

protocal_syslog (syslog)

WIP

详见 https://docs.render.com/log-streams#sumo-logic

protocal_webhook (webhook)

WIP

计划支持包括但不仅限于如下平台的WebHook模板:

其中,Discord平台计划提供两个数据驱动,一个依赖loguru-discord,一个仍调用restful api

WebHook需要传入配置文件,以适配不同平台。如果没有指定,就默认Discord的。

日志源和未来架构愿景

目前仅有一个日志源loguru

提供的logger是loguru的logger,直接暴露,没有重新封装

在未来可能会封装出一个专门的logger,如:

hellologger.log(level:str,message:str,device:str)

并可指定logging或者loguru来完成任务,避免有部分平台loguru就是打不上去的也能用本项目打上去。

引用hellologger从此一身轻!

杂谈

Q:为什么要叫这个名字?

A:因为当时想了很多,包括什么logcat、magiclog等。然后在路过的招牌的塑料袋上看到一个hello,干脆就叫hellologger了,因为无论如何都要体现出log嘛。之后就去搜有没有撞车知名项目,然后只发现了soongoo/HelloLogger和larse514/HelloLogger两个项目,都已经看起来停止维护了,就开工了!

Release files for hellologger 0.2.2.post2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for hellologger 0.2.2.post2
File Size Uploaded
hellologger-0.2.2.post2.tar.gz 6.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for hellologger 0.2.2.post2
File Interpreter ABI Platform
hellologger-0.2.2.post2-py3-none-any.whl Python 3 none any Details

Total release size: 12.6 kB

Release files / hellologger-0.2.2.post2.tar.gz

Download URL hellologger-0.2.2.post2.tar.gz
Size 6.1 kB
Tags Source
SHA-256 checksum
How to use checksums
d506e50c29c8770b07fcf0dba3fbd595f3da2005c26f6b9879030146ce14970a
BLAKE2b-256 checksum
How to use checksums
8cb3574ed306b40aa6177796cba98b0239e82fa2006301d1c576c68aa251a618
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.8.3 CPython/3.12.3 Windows/10

Release files / hellologger-0.2.2.post2-py3-none-any.whl

Download URL hellologger-0.2.2.post2-py3-none-any.whl
Size 6.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
da56f794e715266d9cc17a4d36211506bce7310132d84cb08e5289b4af1e314a
BLAKE2b-256 checksum
How to use checksums
5445ecab75debb80aafb18a4356a892bed9f09cfd8cdb3daf6cfd5688ebbf4b8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.8.3 CPython/3.12.3 Windows/10

Release history Release notifications | RSS feed

This release

0.2.2.post2 This release

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page