Go Logging

Open-source Go projects categorized as Logging
Topics: Golang Go Logger Log JSON

Top 23 Go Logging Projects

  • logrus

    Structured, pluggable logging for Go.

  • Project mention: Authentication system using Golang and Sveltekit - Initialization and setup | dev.to | 2023-06-02

    It'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.

  • loki

    Like Prometheus, but for logs.

  • Project mention: Loki 3.0 Released | news.ycombinator.com | 2024-04-08
  • 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.

    InfluxDB logo
  • zap

    Blazing fast, structured, leveled logging in Go.

  • Project mention: Desvendando o package fmt do Go | dev.to | 2023-11-01
  • gf

    GoFrame is a modular, powerful, high-performance and enterprise-class application development framework of Golang. (by gogf)

  • zerolog

    Zero Allocation JSON Logger

  • Project mention: Go 1.21 Released | news.ycombinator.com | 2023-08-08

    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...

  • go-grpc-middleware

    Golang gRPC Middlewares: interceptor chaining, auth, logging, retries and more.

  • Project mention: Seeking advice on implementing a tinyurl-like service using Go and gRPC. | /r/golang | 2023-05-24

    Hello, 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 )

  • spew

    Implements a deep pretty printer for Go data structures to aid in debugging

  • 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.

    WorkOS logo
  • lumberjack

    lumberjack is a log rolling package for Go

  • dozzle

    Realtime log viewer for docker containers.

  • Project mention: Dozzle: Lightweight, web-based Docker log viewer with real-time monitoring | news.ycombinator.com | 2024-01-29
  • glog

    Leveled execution logs for Go (by golang)

  • stern

    ⎈ Multi pod and container log tailing for Kubernetes -- Friendly fork of https://github.com/wercker/stern (by stern)

  • Project mention: ☸️ Kubernetes: From your docker-compose file to a cluster with Kompose | dev.to | 2024-03-09

    deploy: 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

  • tail

    Go package for reading from continously updated files (tail -f)

  • datadog-agent

    Main repository for Datadog Agent

  • Project mention: How to create a link between two spans in OpenTelemetry | dev.to | 2024-04-19
  • log

    A minimal, colorful Go logging library 🪵 (by charmbracelet)

  • kail

    kubernetes log viewer

  • pp

    Colored pretty printer for Go language

  • seelog

    Seelog is a native Go logging library that provides flexible asynchronous dispatching, filtering, and formatting.

  • litter

    Litter is a pretty printer library for Go data structures to aid in debugging and testing.

  • logging-operator

    Logging operator for Kubernetes

  • Project mention: Multi-tenant logging on Kubernetes | /r/kubernetes | 2023-12-06

    Learn about how the Logging operator (CNCF Sandbox project) enables multi-tenant scenarios:

  • log

    Structured logging package for Go. (by apex)

  • logr

    A simple logging interface for Go

  • log15

    Structured, composable logging for Go

  • SigLens

    100x Efficient Log Management than Splunk, Reduce your observability cost by 90%

  • Project mention: Siglens: A columnar OLAP db that can execute queries 50x faster than ClickHouse | news.ycombinator.com | 2024-02-20

    I found their claims exaggerated: https://github.com/siglens/siglens/issues/created_by/alexey-...

  • SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

    SaaSHub logo
NOTE: The open source projects on this list are ordered by number of github stars. The number of mentions indicates repo mentiontions in the last 12 Months or since we started tracking (Dec 2020).

Go Logging related posts

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
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com