3 Star 5 Fork 7

三三物联网/ssiot-core

加入 Gitee
与超过 1400万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
log.go 1.73 KB
一键复制 编辑 原始数据 按行查看 历史
zou qinqin 提交于 2023-03-02 17:42 +08:00 . 修改模块名
package mycasbin
import (
"sync/atomic"
"gitee.com/sansaniot/sansan-core/logger"
)
// Logger is the implementation for a Logger using golang log.
type Logger struct {
enable int32
}
// EnableLog controls whether print the message.
func (l *Logger) EnableLog(enable bool) {
i := 0
if enable {
i = 1
}
atomic.StoreInt32(&(l.enable), int32(i))
}
// IsEnabled returns if logger is enabled.
func (l *Logger) IsEnabled() bool {
return atomic.LoadInt32(&(l.enable)) != 0
}
// LogModel log info related to model.
func (l *Logger) LogModel(model [][]string) {
var str string
for i := range model {
for j := range model[i] {
str += " " + model[i][j]
}
str += "\n"
}
logger.DefaultLogger.Log(logger.InfoLevel, str)
}
// LogEnforce log info related to enforce.
func (l *Logger) LogEnforce(matcher string, request []interface{}, result bool, explains [][]string) {
logger.DefaultLogger.Fields(map[string]interface{}{
"matcher": matcher,
"request": request,
"result": result,
"explains": explains,
}).Log(logger.InfoLevel, nil)
}
// LogRole log info related to role.
func (l *Logger) LogRole(roles []string) {
logger.DefaultLogger.Fields(map[string]interface{}{
"roles": roles,
})
}
// LogPolicy log info related to policy.
func (l *Logger) LogPolicy(policy map[string][][]string) {
data := make(map[string]interface{}, len(policy))
for k := range policy {
data[k] = policy[k]
}
logger.DefaultLogger.Fields(data).Log(logger.InfoLevel, nil)
}
//func (l *Logger) Print(v ...interface{}) {
// if l.IsEnabled() {
// logger.DefaultLogger.Log(logger.InfoLevel, v...)
// }
//}
//
//func (l *Logger) Printf(format string, v ...interface{}) {
// if l.IsEnabled() {
// logger.DefaultLogger.Logf(logger.InfoLevel, format, v...)
// }
//}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/sansaniot/ssiot-core.git
git@gitee.com:sansaniot/ssiot-core.git
sansaniot
ssiot-core
ssiot-core
v1.5.0

搜索帮助