A tiny debug logging tool. Ideal for CLI tools and command applications

kemba

License: MIT Go Report Card Coverage Status go.dev reference Mentioned in Awesome Go

debug logging tool inspired by https://github.com/visionmedia/debug

Why is it named kemba?

debug is more generally considered to be runtime/debug within Go. Since this takes heavy inspiration from my experiences using the npm module debug I wanted to find a word that was somewhat connected to the inspiration. According to Google translate "debug" in English translated to Icelandic results in "kemba".

Usage

The kemba logger reads the DEBUG and KEMBA environment variables to determine if a log line should be output. The logger outputs to STDERR.

When it is not set, the logger will immediately return, taking no action.

When the value is set (ex. DEBUG=example:*,tool:details and/or KEMBA=plugin:fxn:start), the logger will determine if it should be enabled when instantiated.

The value of these flags can be a simple regex alternative where a wildcard (*) are replaced with .* and all terms are prepended with ^ and appended with $. If a term does not include a wildcard, then an exact match it required.

To disabled colors, set the NOCOLOR environment variable to any value.

image

package main

import (
    "time"

	"github.com/clok/kemba"
)

type myType struct {
	a, b int
}

// When the DEBUG or KEMBA environment variable is set to DEBUG=example:* the kemba logger will output to STDERR
func main () {
    k := kemba.New("example:tag")
	
    var x = []myType{
    	{1, 2},
    	{3, 4},
    }
    k.Printf("%#v", x)
    // Output to os.Stderr
    // example:tag []main.myType{main.myType{a:1, b:2}, main.myType{a:3, b:4}} +0s

    // Artificial delay to demonstrate the time tagging
    time.Sleep(250 * time.Millisecond)
    k.Printf("%# v", x)
    k.Println(x)

    // Artificial delay to demonstrate the time tagging
    time.Sleep(100 * time.Millisecond)
    k.Log(x)
    // All result in the same output to os.Stderr
    // example:tag []main.myType{ +XXms
    // example:tag     {a:1, b:2},
    // example:tag     {a:3, b:4},
    // example:tag }

    // Create a new logger with an extended tag
    k1 := k.Extend("1")
    k1.Println("a string", 12, true)
    // Output to os.Stderr
    // example:tag:1 a string +0s
    // example:tag:1 int(12)
    // example:tag:1 bool(true)
}

Development

  1. Fork the clok/kemba repo
  2. Use go >= 1.16
  3. Branch & Code
  4. Run linters ๐Ÿงน golangci-lint run
  5. Commit with a Conventional Commit
  6. Open a PR
Owner
Derek Smith
Husband, father, engineer. Passionate about the craft, quality and Open-Source.
Derek Smith
Comments
  • feat: support mid tag wildcard for enabling logger

    feat: support mid tag wildcard for enabling logger

    Example of a wildcard in the middle of a tag string: DEBUG=example:*:fxn will match tags like [example:tag1:fxn, example:tag2:fxn, example:anything:fxn, ...]

  • fix(deps): update all non-major dependencies

    fix(deps): update all non-major dependencies

    Mend Renovate

    This PR contains the following updates:

    | Package | Type | Update | Change | |---|---|---|---| | github.com/gookit/color | require | patch | v1.5.0 -> v1.5.1 | | github.com/stretchr/testify | require | patch | v1.7.1 -> v1.7.2 |


    Release Notes

    gookit/color

    v1.5.1

    Compare Source

    Change Log

    Feature
    • feat: add more quick start func for use color https://github.com/gookit/color/commit/85b9eb087b9bce948e36f509f8f5741d53847d38
    Update
    • up: update action, will auto generate changelog on release https://github.com/gookit/color/commit/fb141c4f10691c2934b3a43855d7bd10c6a9d889
    • up: update some for build full color string https://github.com/gookit/color/commit/d5924d1101229c714b390f2acd9a812aa02b1e7f
    • chore: update the basic color preview image https://github.com/gookit/color/commit/95811af7736caa753d7de55a7876661b6e2e63ba
    • chore: update pkg limit go version to 1.14+ https://github.com/gookit/color/commit/bef594f34ff7a5f0fcb50005939b4e170d969bfb
    Other
    • doc: add docsify for project https://github.com/gookit/color/commit/ce925d0246985f3e0ab02be37522c92870b82aee
    • doc: add more gookit project https://github.com/gookit/color/commit/ef04058f8dc349d65796f4a57763be000d1b1323
    • build(deps): bump github.com/stretchr/testify from 1.7.0 to 1.7.1 https://github.com/gookit/color/commit/3ec6601cbc3cc3ffa93d757376da2a6da58758be
    • build(deps): bump github.com/stretchr/testify from 1.7.1 to 1.7.2 https://github.com/gookit/color/commit/2d784a37639a1115ba827468a0511ddbb2382680
    stretchr/testify

    v1.7.2

    Compare Source


    Configuration

    ๐Ÿ“… Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

    ๐Ÿšฆ Automerge: Disabled by config. Please merge this manually once you are satisfied.

    โ™ป Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    ๐Ÿ‘ป Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.


    • [ ] If you want to rebase/retry this PR, click this checkbox.

    This PR has been generated by Mend Renovate. View repository job log here.

  • chore(deps): update jandelgado/gcov2lcov-action action to v1.0.9

    chore(deps): update jandelgado/gcov2lcov-action action to v1.0.9

    WhiteSource Renovate

    This PR contains the following updates:

    | Package | Type | Update | Change | |---|---|---|---| | jandelgado/gcov2lcov-action | action | patch | v1.0.8 -> v1.0.9 |


    Release Notes

    jandelgado/gcov2lcov-action

    v1.0.9

    Compare Source

    make sure GOROOT is always set (fixes #โ€‹13), because the invoked gcov2lcov uses golang API functions that rely on GOROOT (i.e. build.Import, which calls https://cs.opensource.google/go/go/+/refs/tags/go1.18.2:src/go/build/build.go;drc=0a1a092c4b56a1d4033372fbd07924dad8cbb50b;l=544)

    Up to version v3 of the github setup-go action, the GOROOT variable was automatically set. But that changed here, and that's why we nowmak sure GOROOT is always set.


    Configuration

    ๐Ÿ“… Schedule: At any time (no schedule defined).

    ๐Ÿšฆ Automerge: Disabled by config. Please merge this manually once you are satisfied.

    โ™ป Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    ๐Ÿ”• Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, click this checkbox.

    This PR has been generated by WhiteSource Renovate. View repository job log here.

  • chore(deps): update goreleaser/goreleaser-action action to v3

    chore(deps): update goreleaser/goreleaser-action action to v3

    WhiteSource Renovate

    This PR contains the following updates:

    | Package | Type | Update | Change | |---|---|---|---| | goreleaser/goreleaser-action | action | major | v2 -> v3 |


    Release Notes

    goreleaser/goreleaser-action

    v3

    Compare Source


    Configuration

    ๐Ÿ“… Schedule: At any time (no schedule defined).

    ๐Ÿšฆ Automerge: Disabled by config. Please merge this manually once you are satisfied.

    โ™ป Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    ๐Ÿ”• Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, click this checkbox.

    This PR has been generated by WhiteSource Renovate. View repository job log here.

  • fix(deps): update module github.com/stretchr/testify to v1.7.1

    fix(deps): update module github.com/stretchr/testify to v1.7.1

    WhiteSource Renovate

    This PR contains the following updates:

    | Package | Type | Update | Change | |---|---|---|---| | github.com/stretchr/testify | require | patch | v1.7.0 -> v1.7.1 |


    Release Notes

    stretchr/testify

    v1.7.1

    Compare Source


    Configuration

    ๐Ÿ“… Schedule: At any time (no schedule defined).

    ๐Ÿšฆ Automerge: Disabled by config. Please merge this manually once you are satisfied.

    โ™ป Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    ๐Ÿ”• Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, click this checkbox.

    This PR has been generated by WhiteSource Renovate. View repository job log here.

  • chore(deps): update golangci/golangci-lint-action action to v3

    chore(deps): update golangci/golangci-lint-action action to v3

    WhiteSource Renovate

    This PR contains the following updates:

    | Package | Type | Update | Change | |---|---|---|---| | golangci/golangci-lint-action | action | major | v2 -> v3 |


    Release Notes

    golangci/golangci-lint-action

    v3

    Compare Source


    Configuration

    ๐Ÿ“… Schedule: At any time (no schedule defined).

    ๐Ÿšฆ Automerge: Disabled by config. Please merge this manually once you are satisfied.

    โ™ป Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    ๐Ÿ”• Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, click this checkbox.

    This PR has been generated by WhiteSource Renovate. View repository job log here.

  • chore(deps): update actions/setup-go action to v3

    chore(deps): update actions/setup-go action to v3

    WhiteSource Renovate

    This PR contains the following updates:

    | Package | Type | Update | Change | |---|---|---|---| | actions/setup-go | action | major | v2 -> v3 |


    Release Notes

    actions/setup-go

    v3

    Compare Source


    Configuration

    ๐Ÿ“… Schedule: At any time (no schedule defined).

    ๐Ÿšฆ Automerge: Disabled by config. Please merge this manually once you are satisfied.

    โ™ป Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    ๐Ÿ”• Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, click this checkbox.

    This PR has been generated by WhiteSource Renovate. View repository job log here.

  • chore(deps): update actions/checkout action to v3

    chore(deps): update actions/checkout action to v3

    WhiteSource Renovate

    This PR contains the following updates:

    | Package | Type | Update | Change | |---|---|---|---| | actions/checkout | action | major | v2 -> v3 |


    Release Notes

    actions/checkout

    v3

    Compare Source


    Configuration

    ๐Ÿ“… Schedule: At any time (no schedule defined).

    ๐Ÿšฆ Automerge: Disabled by config. Please merge this manually once you are satisfied.

    โ™ป Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    ๐Ÿ”• Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, click this checkbox.

    This PR has been generated by WhiteSource Renovate. View repository job log here.

  • chore(deps): update all non-major dependencies

    chore(deps): update all non-major dependencies

    WhiteSource Renovate

    This PR contains the following updates:

    | Package | Type | Update | Change | |---|---|---|---| | coverallsapp/github-action | action | patch | v1.1.2 -> 1.1.3 | | github.com/gookit/color | require | minor | v1.4.2 -> v1.5.0 | | github.com/kr/pretty | require | minor | v0.2.1 -> v0.3.0 |


    Release Notes

    coverallsapp/github-action

    v1.1.3

    Compare Source

    Added:

    Security improvements:

    • Dependabot PRs
    gookit/color

    v1.5.0

    Compare Source

    Change Log

    Update
    • update: add case for tests WSL env https://github.com/gookit/color/commit/44058898ccb9660cd713cee033472eb2d8603580
    • Add bg colors to basic to hex convertor https://github.com/gookit/color/commit/ac28629353f8d8558feb83bead17d478daf4e5e1
    • add new project on readme https://github.com/gookit/color/commit/254c63f8abccd86c0201c814590c7afcbad8e76a
    • up: add more unit tests https://github.com/gookit/color/commit/5f87df48555ce0dac5a2981638dc3e9d43b1e969
    • enhance: support use color name create some common rgb color https://github.com/gookit/color/commit/e48d1e5803a8f30335c91fb6a3c9cdb565d79977
    • breaking: will not support go < 1.13 https://github.com/gookit/color/commit/b29d2b20b8e2f830de919ba29795b87677c36e50
    Feature
    • feat: support create Rgb color from Hsl value, issue #โ€‹40 https://github.com/gookit/color/commit/dfe4c47c2703da71535ceda22798bd2da869c012
    • feat: add more convert methods on Color https://github.com/gookit/color/commit/3986cfdc2218045802bec480b0c36b6e6ed5bdc3
    Other
    • readme: update readme add more projects https://github.com/gookit/color/commit/ce88fcee7c22dc3dc59e6d5e64558ca03e09ce48
    • readme: update readme https://github.com/gookit/color/commit/79357dc20edd6a400b1620d99f8302d781f74364
    • chore: add an example demo for use color https://github.com/gookit/color/commit/c8097c233b23c3cc1102dfe0e28b247f2c8eee06
    • Bump github.com/stretchr/testify from 1.3.0 to 1.7.0 https://github.com/gookit/color/commit/468b81a7f6a8257456704b11294cfa272f0b1779
    • style: add some comments https://github.com/gookit/color/commit/d1c276a856b99bd7279ba94e23aa2d3d46f9fa85
    • sytle: update readme https://github.com/gookit/color/commit/c7dc09464b28518c2ae383fa16b989e7c0169599
    kr/pretty

    v0.3.0

    Compare Source


    Configuration

    ๐Ÿ“… Schedule: At any time (no schedule defined).

    ๐Ÿšฆ Automerge: Disabled by config. Please merge this manually once you are satisfied.

    โ™ป Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    ๐Ÿ‘ป Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.


    • [ ] If you want to rebase/retry this PR, click this checkbox.

    This PR has been generated by WhiteSource Renovate. View repository job log here.

  • fix(deps): update module github.com/gookit/color to v1.4.2

    fix(deps): update module github.com/gookit/color to v1.4.2

    WhiteSource Renovate

    This PR contains the following updates:

    | Package | Type | Update | Change | |---|---|---|---| | github.com/gookit/color | require | minor | v1.3.8 -> v1.4.2 |


    Release Notes

    gookit/color

    v1.4.2

    Compare Source

    v1.4.1

    Compare Source

    v1.4.0

    Compare Source


    Configuration

    :date: Schedule: At any time (no schedule defined).

    :vertical_traffic_light: Automerge: Disabled by config. Please merge this manually once you are satisfied.

    :recycle: Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    :no_bell: Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, check this box.

    This PR has been generated by WhiteSource Renovate. View repository job log here.

  • fix(deps): update module github.com/gookit/color to v1.3.8 - autoclosed

    fix(deps): update module github.com/gookit/color to v1.3.8 - autoclosed

    WhiteSource Renovate

    This PR contains the following updates:

    | Package | Type | Update | Change | |---|---|---|---| | github.com/gookit/color | require | patch | v1.3.6 -> v1.3.8 |


    Release Notes

    gookit/color

    v1.3.8

    Compare Source

    v1.3.7

    Compare Source


    Renovate configuration

    :date: Schedule: At any time (no schedule defined).

    :vertical_traffic_light: Automerge: Disabled by config. Please merge this manually once you are satisfied.

    :recycle: Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    :no_bell: Ignore: Close this PR and you won't be reminded about this update again.


    • [x] If you want to rebase/retry this PR, check this box

    This PR has been generated by WhiteSource Renovate. View repository job log here.

  • chore(deps): pin module go to v1.16.15

    chore(deps): pin module go to v1.16.15

    Mend Renovate

    This PR contains the following updates:

    | Package | Type | Update | Change | |---|---|---|---| | go (source) | golang | pin | 1.16 -> 1.16.15 |

    Add the preset :preserveSemverRanges to your config if you don't want to pin your dependencies.


    Configuration

    ๐Ÿ“… Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

    ๐Ÿšฆ Automerge: Disabled by config. Please merge this manually once you are satisfied.

    โ™ป Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

    ๐Ÿ”• Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, check this box

    This PR has been generated by Mend Renovate. View repository job log here.

  • fix(deps): update all non-major dependencies

    fix(deps): update all non-major dependencies

    Mend Renovate

    This PR contains the following updates:

    | Package | Type | Update | Change | |---|---|---|---| | github.com/gookit/color | require | patch | v1.5.1 -> v1.5.2 | | github.com/kr/pretty | require | patch | v0.3.0 -> v0.3.1 | | github.com/stretchr/testify | require | minor | v1.7.2 -> v1.8.1 | | go (source) | golang | minor | 1.16 -> 1.19.3 |


    Release Notes

    gookit/color

    v1.5.2

    Compare Source

    Change Log

    Refactor
    • refactor: update and refactor the color tag parse logic https://github.com/gookit/color/commit/efc6d3fe9d5faad9281767b3980114eb98ae0d17
    Fixed
    • fix: RGBFromString() maybe input overflow int value https://github.com/gookit/color/commit/bf93227272fb8d21b8ef98962606e5873e7d1b49
    Update
    • up: update some comments and add more unit tests https://github.com/gookit/color/commit/daca06fde9311a07d9658135599e814d93bcd368
    Other
    • build(deps): bump github.com/stretchr/testify from 1.7.2 to 1.7.3 https://github.com/gookit/color/commit/ab29a70449f8a5d690672f2446a22c00b0ab3b0b
    • build(deps): bump github.com/stretchr/testify from 1.7.3 to 1.7.4 https://github.com/gookit/color/commit/8e41e715ddc7bb1d098960ba0978c43ee11e0dd6
    • build(deps): bump github.com/stretchr/testify from 1.7.4 to 1.7.5 https://github.com/gookit/color/commit/895e882a27b90f9a6e42b3d959b891dc45340a63
    • chore: add color level alias of the terminfo.ColorLevel https://github.com/gookit/color/commit/2f5b36dff8aa50297cd52a4db3c486aefeec780f
    • chore: update some func comments, fix some code style https://github.com/gookit/color/commit/f30c87365ad1b577a55f7b920c8e307e8b23647e
    • chore: update the limit go version and update release gh action https://github.com/gookit/color/commit/e12eb6f3a7dadabfa456343bb1df52cb89e98faf
    • chore: update the readme add more HTML like tags usage https://github.com/gookit/color/commit/d305f5f8b46f52835c931943952d9d5b219dcd43
    • chore: add more docs for detect color level on readme https://github.com/gookit/color/commit/0ec8e783c81a447597d4337e07aba34ccfc2cf80
    • build(deps): bump github.com/stretchr/testify from 1.7.5 to 1.8.0 https://github.com/gookit/color/commit/1823e0cfdef89b1d184efbb1ebfa16e9d5a987bd
    • chore: update some comments code styles https://github.com/gookit/color/commit/d0fe5131ad7d641b0e6b73e3e579fa0755ff10a6

    Full Changelog: https://github.com/gookit/color/compare/v1.5.1...v1.5.2

    kr/pretty

    v0.3.1

    Compare Source

    stretchr/testify

    v1.8.1

    Compare Source

    v1.8.0

    Compare Source

    v1.7.5

    Compare Source

    v1.7.4

    Compare Source

    v1.7.3

    Compare Source

    golang/go

    v1.19.3

    v1.19.2

    v1.19.1

    v1.19.0

    v1.18.8

    v1.18.7

    v1.18.6

    v1.18.5

    v1.18.4

    v1.18.3

    v1.18.2

    v1.18.1

    v1.18.0

    v1.17.13

    v1.17.12

    v1.17.11

    v1.17.10

    v1.17.9

    v1.17.8

    v1.17.7

    v1.17.6

    v1.17.5

    v1.17.4

    v1.17.3

    v1.17.2

    v1.17.1

    v1.17.0


    Configuration

    ๐Ÿ“… Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

    ๐Ÿšฆ Automerge: Disabled by config. Please merge this manually once you are satisfied.

    โ™ป Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    ๐Ÿ‘ป Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.


    • [ ] If you want to rebase/retry this PR, check this box

    This PR has been generated by Mend Renovate. View repository job log here.

  • Dependency Dashboard

    Dependency Dashboard

    This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.

    Open

    These updates have all been created already. Click a checkbox below to force a retry/rebase of any.

    Detected dependencies

    github-actions
    .github/workflows/lint.yml
    • actions/checkout v3
    • golangci/golangci-lint-action v3
    .github/workflows/release.yml
    • actions/checkout v3
    • actions/setup-go v3
    • goreleaser/goreleaser-action v3
    .github/workflows/test.yml
    • actions/setup-go v3
    • actions/checkout v3
    • jandelgado/gcov2lcov-action v1.0.9
    • coverallsapp/github-action 1.1.3
    .github/workflows/warm.yaml
    gomod
    go.mod
    • go 1.16
    • github.com/gookit/color v1.5.1
    • github.com/kr/pretty v0.3.0
    • github.com/stretchr/testify v1.7.2

    • [ ] Check this box to trigger a request for Renovate to run again on this repository
Gomol is a library for structured, multiple-output logging for Go with extensible logging outputs

gomol Gomol (Go Multi-Output Logger) is an MIT-licensed structured logging library for Go. Gomol grew from a desire to have a structured logging libra

Sep 26, 2022
FactorLog is a logging infrastructure for Go that provides numerous logging functions for whatever your style may be
FactorLog is a logging infrastructure for Go that provides numerous logging functions for whatever your style may be

FactorLog FactorLog is a fast logging infrastructure for Go that provides numerous logging functions for whatever your style may be. It could easily b

Aug 3, 2022
Package logging implements a logging infrastructure for Go
Package logging implements a logging infrastructure for Go

Golang logging library Package logging implements a logging infrastructure for Go. Its output format is customizable and supports different logging ba

Nov 10, 2021
Very simple charts with some debug data for Go programs
Very simple charts with some debug data for Go programs

debugcharts Go memory debug charts. This package uses Plotly chart library. It is open source and free for use. Installation go get -v -u github.com/m

Dec 14, 2022
Peimports - based on golang's debug/pe this package gives quick access to the ordered imports of pe files with ordinal support

This code is almost entirely derived from the Go standard library's debug/pe package. It didn't provide access to ordinal based entries in the IAT and

Jan 5, 2022
Request-logging-tool - A tool logs the md5 codes of the responses of the given domains in parameter

request-logging-tool Application to send http requests and log the md5 responses

Jan 7, 2022
SigNoz helps developer monitor applications and troubleshoot problems in their deployed applications
SigNoz helps developer monitor applications and troubleshoot problems in their deployed applications

SigNoz helps developers monitor their applications & troubleshoot problems, an open-source alternative to DataDog, NewRelic, etc. ?? ??

Dec 27, 2022
Simple and configurable Logging in Go, with level, formatters and writers

go-log Logging package similar to log4j for the Golang. Support dynamic log level Support customized formatter TextFormatter JSONFormatter Support mul

Sep 26, 2022
A Go (golang) package providing high-performance asynchronous logging, message filtering by severity and category, and multiple message targets.

ozzo-log Other languages ็ฎ€ไฝ“ไธญๆ–‡ ะ ัƒััะบะธะน Description ozzo-log is a Go package providing enhanced logging support for Go programs. It has the following fe

Dec 17, 2022
Simple and blazing fast lockfree logging library for golang
Simple and blazing fast lockfree logging library for golang

glg is simple golang logging library Requirement Go 1.11 Installation go get github.com/kpango/glg Example package main import ( "net/http" "time"

Nov 28, 2022
The Simplest and worst logging library ever written

gologger A Simple Easy to use go logger library. Displays Colored log into console in any unix or windows platform. You can even store your logs in fi

Sep 26, 2022
Simple, configurable and scalable Structured Logging for Go.

log Log is a simple, highly configurable, Structured Logging library Why another logging library? There's allot of great stuff out there, but also tho

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

Seelog Seelog is a powerful and easy-to-learn logging framework that provides functionality for flexible dispatching, filtering, and formatting log me

Jan 3, 2023
Hierarchical, leveled, and structured logging library for Go

spacelog Please see http://godoc.org/github.com/spacemonkeygo/spacelog for info License Copyright (C) 2014 Space Monkey, Inc. Licensed under the Apach

Apr 27, 2021
Parametrized JSON logging library in Golang which lets you obfuscate sensitive data and marshal any kind of content.
Parametrized JSON logging library in Golang which lets you obfuscate sensitive data and marshal any kind of content.

Noodlog Summary Noodlog is a Golang JSON parametrized and highly configurable logging library. It allows you to: print go structs as JSON messages; pr

Oct 27, 2022
Simple, customizable, leveled and efficient logging in Go

log Simple, customizable, leveled and efficient logging in Go Installation go get -u github.com/ermanimer/log Features log is a simple logging package

Dec 20, 2021
An example logging system using Prometheus, Loki, and Grafana.
An example logging system using Prometheus, Loki, and Grafana.

Logging Example Structure Collector Export numerical data for Prometheus and log data for Promtail. Exporter uses port 8080 Log files are saved to ./c

Nov 21, 2022
Shikhandi: a tiny load generator for opentelemetry and heavily

shikhandi is a tiny load generator for opentelemetry and heavily inspired by thi

Oct 7, 2022
This package enables json output, level logging and so on to standard go logger.

logplug This package enables json output, level logging and so on to standard logger. Usage log.SetOutput(logplug.NewJSONPlug(os.Stderr, logplug.LogF

Dec 27, 2021