https://github.com/zcubbs/zlogger
https://github.com/zcubbs/zlogger
Last synced: 9 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/zcubbs/zlogger
- Owner: zcubbs
- License: mit
- Created: 2023-06-04T20:26:26.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2023-06-24T15:35:16.000Z (about 3 years ago)
- Last Synced: 2025-10-09T00:56:40.562Z (9 months ago)
- Language: Go
- Size: 7.81 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# zlogger
This is an interface for Loggers in Go. It is inspired by [go-logger](https://github.com/arun0009/go-logger).
## Usage
### Install
```bash
go get github.com/zcubbs/zlogger
```
### Logrus
[logrus](https://github.com/sirupsen/logrus)
```go
package main
import (
"os"
"github.com/zcubbs/zlogger/pkg/logger"
"github.com/sirupsen/logrus"
)
func main() {
logrusLog := logrus.New()
logrusLog.SetFormatter(&logrus.JSONFormatter{})
logrusLog.SetOutput(os.Stdout)
logrusLog.SetLevel(logrus.DebugLevel)
log, _ := logger.NewLogrusLogger(logrusLog)
logger.ReplaceGlobals(log)
//anywhere in your code you can now use logger.L() as its globally set
logger.L().WithFields(logger.Fields{
"foo": "bar",
}).Info("direct")
}
```
### Zap
[zap](https://github.com/uber-go/zap)
```go
package main
import (
"os"
"github.com/zcubbs/zlogger/pkg/logger"
"go.uber.org/zap"
"go.uber.org/zap/zapcore"
)
func main() {
consoleEncoder := zapcore.NewJSONEncoder(zap.NewDevelopmentEncoderConfig())
core := zapcore.NewCore(consoleEncoder,
zapcore.Lock(zapcore.AddSync(os.Stderr)),
zapcore.DebugLevel)
zapLogger := zap.New(core)
log, _ := logger.NewZapLogger(zapLogger)
logger.ReplaceGlobals(log)
//anywhere in your code you can now use logger.L() as its globally set
logger.L().WithFields(logger.Fields{
"foo": "bar",
}).Info("direct")
}
```
## License
MIT