Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality. Learn more →
Top 23 Go Logging Projects
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
-
gf
GoFrame is a modular, powerful, high-performance and enterprise-class application development framework of Golang. (by gogf)
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
-
stern
⎈ Multi pod and container log tailing for Kubernetes -- Friendly fork of https://github.com/wercker/stern (by stern)
-
seelog
Seelog is a native Go logging library that provides flexible asynchronous dispatching, filtering, and formatting.
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
Project mention: Authentication system using Golang and Sveltekit - Initialization and setup | dev.to | 2023-06-02It's some sort of logging system well explained by Alex Edwards in Let’s Go Further. As stated, we could have used logrus or any other popular logging system in Go.
Be aware that there is a performance impact compared to using zerolog directly [0] (my uneducated guess is it is likely due to pointer indirection).
[0]: https://github.com/rs/zerolog/issues/571#issuecomment-166202...
Project mention: Seeking advice on implementing a tinyurl-like service using Go and gRPC. | /r/golang | 2023-05-24Hello, Those interviews are even crazy for internship. Anyway 1. Try to find a simple CRUD example online. You can check [this](https://tutorialedge.net/golang/go-grpc-beginners-tutorial/) 2. For logging you can check [go-grpc-middleware](https://github.com/grpc-ecosystem/go-grpc-middleware) 3. You can grpc-gateway in case they want some REST endpoints too 4. Use base62 to encode your url. So at least 2 columns in your table **shortenedUrl** and **url** 5. For such a project no need to use an ORM ( it's not advised anyway ). Implement 2 functions, one to insert into the db and the other one to read from the db. Remember to use transaction though 5. For unit tests go with the standard library and mock the 2 functions ( erroneous and valid cases )
Project mention: Dozzle: Lightweight, web-based Docker log viewer with real-time monitoring | news.ycombinator.com | 2024-01-29
Project mention: ☸️ Kubernetes: From your docker-compose file to a cluster with Kompose | dev.to | 2024-03-09deploy: stage: deploy image: alpine/k8s:1.29.1 variables: NAMESPACE: $CI_COMMIT_REF_SLUG before_script: # init namespace - kubectl config use-context $KUBE_CONTEXT - kubectl create namespace $NAMESPACE || true # download tools - curl --show-error --silent --location https://github.com/stern/stern/releases/download/v1.22.0/stern_1.22.0_linux_amd64.tar.gz | tar zx --directory /usr/bin/ stern && chmod 755 /usr/bin/stern && stern --version - curl --show-error --silent --location https://github.com/kubernetes/kompose/releases/download/v1.32.0/kompose-linux-amd64 -o /usr/local/bin/kompose && chmod a+x /usr/local/bin/kompose && kompose version # show logs asynchronously. Timeout to avoid hanging indefinitely when an error occurs in script section - timeout 1200 stern -n $NAMESPACE "app-" --tail=0 --color=always & # in background, tail new logs if any (current and incoming) pod with this regex as name - timeout 1200 kubectl -n $NAMESPACE get events --watch-only & # in background, tail new events in background script: # first delete CrashLoopBackOff pods, polluting logs - kubectl -n $NAMESPACE delete pod `kubectl -n $NAMESPACE get pods --selector app.kubernetes.io/component=$MODULE | awk '$3 == "CrashLoopBackOff" {print $1}'` || true # now deploying - kompose convert --out k8s/ - kubectl apply -n $NAMESPACE -f k8s/ - echo -e "\e[93;1mWaiting for the new app version to be fully operational...\e[0m" # waiting for successful deployment - kubectl -n $NAMESPACE rollout status deploy/app-db - kubectl -n $NAMESPACE rollout status deploy/app-back - kubectl -n $NAMESPACE rollout status deploy/app-front # on any error before this line, the script will still wait for these threads to complete, so the initial timeout is important. Adding these commands to after_script does not help - pkill stern || true - pkill kubectl || true after_script: # show namespace content - kubectl config use-context $KUBE_CONTEXT - kubectl -n $NAMESPACE get deploy,service,ingress,pod
Learn about how the Logging operator (CNCF Sandbox project) enables multi-tenant scenarios:
Project mention: Siglens: A columnar OLAP db that can execute queries 50x faster than ClickHouse | news.ycombinator.com | 2024-02-20I found their claims exaggerated: https://github.com/siglens/siglens/issues/created_by/alexey-...
Go Logging related posts
- Loki 3.0 Released
- VS Code app logs browser UI
- ☸️ Kubernetes: From your docker-compose file to a cluster with Kompose
- Logdy – A Web Viewer for Logs
- Show HN: Capture emails with 5 lines of code
- Show HN: Kubetail – A private, real-time log viewer for Kubernetes clusters
- Show HN: Logchain – ClickHouse/Postgres gRPC hook for logchain
-
A note from our sponsor - InfluxDB
www.influxdata.com | 24 Apr 2024
Index
What are some of the best open-source Logging projects in Go? This list will help you:
Project | Stars | |
---|---|---|
1 | logrus | 24,012 |
2 | loki | 22,149 |
3 | zap | 20,947 |
4 | gf | 10,843 |
5 | zerolog | 9,726 |
6 | go-grpc-middleware | 6,043 |
7 | spew | 5,864 |
8 | lumberjack | 4,609 |
9 | dozzle | 4,238 |
10 | glog | 3,513 |
11 | stern | 2,786 |
12 | tail | 2,646 |
13 | datadog-agent | 2,632 |
14 | log | 2,026 |
15 | kail | 1,915 |
16 | pp | 1,778 |
17 | seelog | 1,638 |
18 | litter | 1,489 |
19 | logging-operator | 1,485 |
20 | log | 1,348 |
21 | logr | 1,183 |
22 | log15 | 1,101 |
23 | SigLens | 995 |
Sponsored