zeromdc

package module
v0.1.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 31, 2024 License: MIT Imports: 4 Imported by: 6

README

MDC

Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

License

MIT

Documentation

Index

Examples

Constants

This section is empty.

Variables

This section is empty.

Functions

func AddGlobalFields

func AddGlobalFields(field string)

func ClearGlobalFields

func ClearGlobalFields()

func GetGlobalFields

func GetGlobalFields() []string

func ResetGlobalMdcAdapter

func ResetGlobalMdcAdapter()

func SetGlobalFields

func SetGlobalFields(fields []string)

Types

type MDCHook

type MDCHook struct{}

func (MDCHook) Run

func (m MDCHook) Run(event *zerolog.Event, level zerolog.Level, message string)

type MdcAdapter

type MdcAdapter struct {
	sync.RWMutex
	// contains filtered or unexported fields
}

func InitGlobalMdcAdapter

func InitGlobalMdcAdapter() *MdcAdapter

func MDC

func MDC() *MdcAdapter

func (*MdcAdapter) Get

func (m *MdcAdapter) Get(key string) (interface{}, bool)

func (*MdcAdapter) GetString

func (m *MdcAdapter) GetString(key string) string

func (*MdcAdapter) Remove

func (m *MdcAdapter) Remove(key string)

func (*MdcAdapter) Set

func (m *MdcAdapter) Set(key string, value interface{})

type Overlog

type Overlog struct {
	*zerolog.Logger
}

func Log

func Log() *Overlog
Example (Debug)
package main

import (
	"os"

	"github.com/adrienaury/zeromdc"
	"github.com/rs/zerolog"
)

func main() {
	zeromdc.New(zerolog.New(os.Stdout))
	zeromdc.MDC().Set("x-correlation-id", "1234")
	zeromdc.AddGlobalFields("x-correlation-id")

	zeromdc.Log().Debug().Msg("hello world")

}
Output:

{"level":"debug","x-correlation-id":"1234","message":"hello world"}
Example (Error)
package main

import (
	"os"

	"github.com/adrienaury/zeromdc"
	"github.com/rs/zerolog"
)

func main() {
	zeromdc.New(zerolog.New(os.Stdout))
	zeromdc.MDC().Set("x-correlation-id", "1234")
	zeromdc.AddGlobalFields("x-correlation-id")

	zeromdc.Log().Error().Msg("hello world")

}
Output:

{"level":"error","x-correlation-id":"1234","message":"hello world"}
Example (Info)
package main

import (
	"os"

	"github.com/adrienaury/zeromdc"
	"github.com/rs/zerolog"
)

func main() {
	zeromdc.New(zerolog.New(os.Stdout))
	zeromdc.MDC().Set("x-correlation-id", "1234")
	zeromdc.AddGlobalFields("x-correlation-id")

	zeromdc.Log().Info().Msg("hello world")

}
Output:

{"level":"info","x-correlation-id":"1234","message":"hello world"}
Example (Log)
package main

import (
	"os"

	"github.com/adrienaury/zeromdc"
	"github.com/rs/zerolog"
)

func main() {
	zeromdc.New(zerolog.New(os.Stdout))
	zeromdc.MDC().Set("x-correlation-id", "1234")
	zeromdc.AddGlobalFields("x-correlation-id")

	zeromdc.Log().Log().Msg("hello world")

}
Output:

{"x-correlation-id":"1234","message":"hello world"}
Example (Print)
package main

import (
	"os"

	"github.com/adrienaury/zeromdc"
	"github.com/rs/zerolog"
)

func main() {
	zeromdc.New(zerolog.New(os.Stdout))
	zeromdc.MDC().Set("x-correlation-id", "1234")
	zeromdc.AddGlobalFields("x-correlation-id")

	zeromdc.Log().Print("hello world")

}
Output:

{"level":"debug","x-correlation-id":"1234","message":"hello world"}
Example (Printf)
package main

import (
	"os"

	"github.com/adrienaury/zeromdc"
	"github.com/rs/zerolog"
)

func main() {
	zeromdc.New(zerolog.New(os.Stdout))
	zeromdc.MDC().Set("x-correlation-id", "1234")
	zeromdc.AddGlobalFields("x-correlation-id")

	zeromdc.Log().Printf("hello %s", "world")

}
Output:

{"level":"debug","x-correlation-id":"1234","message":"hello world"}
Example (Trace)
package main

import (
	"os"

	"github.com/adrienaury/zeromdc"
	"github.com/rs/zerolog"
)

func main() {
	zeromdc.New(zerolog.New(os.Stdout))
	zeromdc.MDC().Set("x-correlation-id", "1234")
	zeromdc.AddGlobalFields("x-correlation-id")

	zeromdc.Log().Trace().Msg("hello world")

}
Output:

{"level":"trace","x-correlation-id":"1234","message":"hello world"}
Example (Warn)
package main

import (
	"os"

	"github.com/adrienaury/zeromdc"
	"github.com/rs/zerolog"
)

func main() {
	zeromdc.New(zerolog.New(os.Stdout))
	zeromdc.MDC().Set("x-correlation-id", "1234")
	zeromdc.AddGlobalFields("x-correlation-id")

	zeromdc.Log().Warn().Msg("hello world")

}
Output:

{"level":"warn","x-correlation-id":"1234","message":"hello world"}

func New

func New(logger zerolog.Logger) *Overlog
Example
package main

import (
	"os"

	"github.com/adrienaury/zeromdc"
	"github.com/rs/zerolog"
)

func main() {
	zeromdc.New(zerolog.New(os.Stdout))
	zeromdc.MDC().Set("x-correlation-id", "1234")
	zeromdc.MDC().Set("x-agent-name", "trendyol")
	zeromdc.SetGlobalFields([]string{"x-correlation-id", "x-agent-name"})

	zeromdc.Log().Info().Msg("hello world")

}
Output:

{"level":"info","x-agent-name":"trendyol","x-correlation-id":"1234","message":"hello world"}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL
JackTT - Gopher 🇻🇳