common logger utility module in go

Log & Go

This is common logging utility tht is implemented only just for fun :)

I will be giving the details about how to use this utility to log every event occurred in your applications.

Steps

Step 1

go get github.com/yukselcodingwithyou/logandgo@latest

This command above is necessary for you to use this utility in your application.

Step 2

import logger "github.com/yukselcodingwithyou/logandgo"

Import the downloaded utility to your go files, as visualized above.

Step 3

Create a new logger with a format and level as you wish, format and level information should be like below.

  1. LogLevels

    • PANIC = 0
    • ERROR = 1
    • WARN = 2
    • INFO = 3
    • DEBUG = 4
  2. Formats

    • JSON
    • TEXT

Examples

  • JSON Logger Example

The example below is going to log in WARN level with JSON format. In case you have configured your log level in application level to be WARN, then our logger utility will not log INFO or above levels but just PANIC, ERROR, WARN levels

package main
import logger "github.com/yukselcodingwithyou/logandgo"
func main() {
    jsonLogger := logger.NewLogger(logger.JSON, 2)
    jsonLogger.Debug(logger.LogFields{
        "title": "title",
        "reason": "debug",
        "payload": "payload",
    })
    jsonLogger.Error(logger.LogFields{
        "title": "title",
        "reason": "error",
        "payload": "payload",
    })
    jsonLogger.Info(logger.LogFields{
        "title": "title",
        "reason": "info",
        "payload": "payload",
    })
    jsonLogger.Panic(logger.LogFields{
        "title": "title",
        "reason": "panic",
        "payload": "payload",
    })
    jsonLogger.Warn(logger.LogFields{
        "title": "title",
        "reason": "warn",
        "payload": "payload",
    })
}
  • JSON Logger Output Example

    ERROR: 2021/11/21 16:12:00 main.go:14: {"payload":"payload","reason":"error","title":"title"}

    PANIC: 2021/11/21 16:12:00 main.go:26: {"payload":"payload","reason":"panic","title":"title"}

    WARNING: 2021/11/21 16:12:00 main.go:32: {"payload":"payload","reason":"warn","title":"title"}

  • TEXT Logger Example

The example below is going to log in ALL levels defined with TEXT format.

  package main
  
  import logger "github.com/yukselcodingwithyou/logandgo"

  func main() {

     textLogger := logger.NewLogger(logger.TEXT, 4)
    
     textLogger.Debug(logger.LogFields{
        "title": "title",
        "reason": "debug",
        "payload": "payload",
     })

     textLogger.Error(logger.LogFields{
        "title": "title",
        "reason": "error",
        "payload": "payload",
    })
     
     textLogger.Info(logger.LogFields{
        "title": "title",
        "reason": "info",
        "payload": "payload",
     })
    
     textLogger.Panic(logger.LogFields{
          "title": "title",
          "reason": "panic",
          "payload": "payload",
     })
    
     textLogger.Warn(logger.LogFields{
          "title": "title",
          "reason": "warn",
          "payload": "payload",
     })
  }
  • TEXT Logger Output Example

DEBUG: 2021/11/21 16:39:06 main.go:8: title=title reason=debug payload=payload

ERROR: 2021/11/21 16:39:06 main.go:14: reason=error payload=payload title=title

INFO: 2021/11/21 16:39:06 main.go:20: reason=info payload=payload title=title

PANIC: 2021/11/21 16:39:06 main.go:26: title=title reason=panic payload=payload

WARNING: 2021/11/21 16:39:06 main.go:32: title=title reason=warn payload=payload

Owner
Yüksel Özdemir
Software Engineer
Yüksel Özdemir
Similar Resources

A logger for Go SQL database driver without modify existing *sql.DB stdlib usage.

A logger for Go SQL database driver without modify existing *sql.DB stdlib usage.

SQLDB-Logger A logger for Go SQL database driver without modify existing *sql.DB stdlib usage. Colored console writer output above only for sample/dev

Jan 3, 2023

xlog is a logger for net/context aware HTTP applications

xlog is a logger for net/context aware HTTP applications

⚠️ Check zerolog, the successor of xlog. HTTP Handler Logger xlog is a logger for net/context aware HTTP applications. Unlike most loggers, xlog will

Sep 26, 2022

Zero Allocation JSON Logger

Zero Allocation JSON Logger

Zero Allocation JSON Logger The zerolog package provides a fast and simple logger dedicated to JSON output. Zerolog's API is designed to provide both

Jan 1, 2023

A powerful zero-dependency json logger.

ZKits Logger Library About This package is a library of ZKits project. This is a zero-dependency standard JSON log library that supports structured JS

Dec 14, 2022

Configurable Logger for Go

Timber! This is a logger implementation that supports multiple log levels, multiple output destinations with configurable formats and levels for each.

Jun 28, 2022

A feature-rich and easy to use logger for golang

A feature-rich and easy to use logger for golang

A feature-rich and easy to use logger for golang 🚀 Install 🌲 Common Logs lumber.Success() lumber.Info() lumber.Debug() lumber.Warning()

Dec 31, 2022

A minimal and extensible structured logger

⚠️ PRE-RELEASE ⚠️ DO NOT IMPORT THIS MODULE YOUR PROJECT WILL BREAK package log package log provides a minimal interface for structured logging in ser

Jan 7, 2023

HTTP request logger for Golang

HTTP request logger for Golang

Horus 𓂀 Introduction Horus is a request logger and viewer for Go. It allows developers log and view http requests made to their web application. Inst

Dec 27, 2022

Simple Yet Powerful Logger

sypl sypl provides a Simple Yet Powerful Logger built on top of the Golang sypl. A sypl logger can have many Outputs, and each Output is responsible f

Sep 23, 2022
Logger - Simple logger without written with std pkg

Go-Logger Simple usage is: package main

Jan 2, 2022
Logger - A thin wrapper of uber-go/zap logger for personal project

a thin wraper of uber-go/zap logger for personal project 0. thanks uber-go/zap B

Sep 17, 2022
A reusable logger module for basic logging, written in Go
A reusable logger module for basic logging, written in Go

logger A reusable logger module for basic logging, written in Go. Usage Client p

Jan 8, 2022
A project that adds color to golang's logger module

logger A project that adds color to golang's log module Installation go get github.com/christopher18/logger Usage // Import the module import "github

Dec 28, 2021
Go-logger - A sample go module that I stood up quickly to learn how remote modules work in go

go-logger A sample go module that I stood up quickly to learn how remote modules

Jan 9, 2022
A logger, for Go

Go-Log A logger, for Go! It's sort of log and code.google.com/p/log4go compatible, so in most cases can be used without any code changes. Breaking cha

Oct 7, 2022
Simple logger for Go programs. Allows custom formats for messages.
Simple logger for Go programs. Allows custom formats for messages.

go-logger A simple go logger for easy logging in your programs. Allows setting custom format for messages. Preview Install go get github.com/apsdehal/

Dec 17, 2022
Loggly Hooks for GO Logrus logger

Loggly Hooks for Logrus Usage package main import ( "github.com/sirupsen/logrus" "github.com/sebest/logrusly" ) var logglyToken string = "YOUR_LOG

Sep 26, 2022
A 12-factor app logger built for performance and happy development
A 12-factor app logger built for performance and happy development

logxi log XI is a structured 12-factor app logger built for speed and happy development. Simpler. Sane no-configuration defaults out of the box. Faste

Nov 27, 2022
Dead simple, super fast, zero allocation and modular logger for Golang

Onelog Onelog is a dead simple but very efficient JSON logger. It is one of the fastest JSON logger out there. Also, it is one of the logger with the

Sep 26, 2022