MCPcopy
hub / github.com/apache/casbin / logPolicyOperation

Method logPolicyOperation

util_log.go:143–166  ·  view source on GitHub ↗

logPolicyOperation logs a policy operation (add or remove) with before and after events.

(eventType log.EventType, sec string, rule []string, operation func() (bool, error))

Source from the content-addressed store, hash-verified

141
142// logPolicyOperation logs a policy operation (add or remove) with before and after events.
143func (e *Enforcer) logPolicyOperation(eventType log.EventType, sec string, rule []string, operation func() (bool, error)) (bool, error) {
144 var logEntry *log.LogEntry
145 if e.logger != nil && sec == "p" {
146 logEntry = &log.LogEntry{
147 EventType: eventType,
148 Rules: [][]string{rule},
149 }
150 _ = e.logger.OnBeforeEvent(logEntry)
151 }
152
153 ok, err := operation()
154
155 if e.logger != nil && logEntry != nil {
156 if ok && err == nil {
157 logEntry.RuleCount = 1
158 } else {
159 logEntry.RuleCount = 0
160 logEntry.Error = err
161 }
162 _ = e.logger.OnAfterEvent(logEntry)
163 }
164
165 return ok, err
166}

Callers 2

addPolicyMethod · 0.95
removePolicyMethod · 0.95

Calls 2

OnBeforeEventMethod · 0.65
OnAfterEventMethod · 0.65

Tested by

no test coverage detected