Zap logger for Casbin

Clone this repo:
  1. 503c28d fix: reject release tags whose major version does not match go.mod by Yang Luo · 3 weeks ago master
  2. 6e64c98 feat: replace semantic-release with a tag-triggered release workflow by Yang Luo · 3 weeks ago
  3. 918d7ce fix: remove the duplicate Build workflow by Yang Luo · 3 weeks ago
  4. f8db1b9 feat: fix compatibility with Casbin v3.7.0's new logger interface (#10) by Io Wayfarer · 9 months ago v2.5.0
  5. cb73bb5 feat: upgrade CI workflows to Node.js 20 (#18) by Yang Luo · 9 months ago v2.4.0

Installation

go get github.com/casbin/zap-logger

How to use it

You could import the zap-logger module like:

import (
    zaplogger "github.com/casbin/zap-logger/v3"
    "github.com/casbin/casbin/v3"
)

You could let your enforcer use this logger when you first initialize your enforcer like:

e, _ := casbin.NewEnforcer("examples/rbac_model.conf", a)
e.EnableLog(true)
e.SetLogger(zaplogger.NewLogger(true, true))

or with and existing zap instance.

logger := zaplogger.NewLoggerByZap(yourZapLogger, true)
e, _ := casbin.NewEnforcer("examples/rbac_model.conf", a)
e.EnableLog(true)
e.SetLogger(logger)

And the method NewLogger have two params: enabled and jsonEncode, you could initialize logger's log status and decide whether to output information with json encoded or not.

Getting Help

License

This project is under Apache 2.0 License. See the LICENSE file for the full license text.