You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@@ -281,6 +283,11 @@ func (e *Enforcer) SetEffector(eft effector.Effector) {
281
283
e.eft=eft
282
284
}
283
285
286
+
// SetLogger sets the logger for the enforcer.
287
+
func (e*Enforcer) SetLogger(logger log.Logger) {
288
+
e.logger=logger
289
+
}
290
+
284
291
// ClearPolicy clears all policy.
285
292
func (e*Enforcer) ClearPolicy() {
286
293
e.invalidateMatcherMap()
@@ -294,14 +301,21 @@ func (e *Enforcer) ClearPolicy() {
294
301
295
302
// LoadPolicy reloads the policy from file/database.
296
303
func (e*Enforcer) LoadPolicy() error {
304
+
logEntry:=e.onLogBeforeEventInLoadPolicy()
305
+
297
306
newModel, err:=e.loadPolicyFromAdapter(e.model)
298
307
iferr!=nil {
308
+
e.onLogAfterEventWithError(logEntry, err)
299
309
returnerr
300
310
}
301
311
err=e.applyModifiedModel(newModel)
302
312
iferr!=nil {
313
+
e.onLogAfterEventWithError(logEntry, err)
303
314
returnerr
304
315
}
316
+
317
+
e.onLogAfterEventInLoadPolicy(logEntry, newModel)
318
+
305
319
returnnil
306
320
}
307
321
@@ -445,12 +459,20 @@ func (e *Enforcer) IsFiltered() bool {
445
459
446
460
// SavePolicy saves the current policy (usually after changed with Casbin API) back to file/database.
447
461
func (e*Enforcer) SavePolicy() error {
462
+
logEntry:=e.onLogBeforeEventInSavePolicy()
463
+
448
464
ife.IsFiltered() {
449
-
returnerrors.New("cannot save a filtered policy")
465
+
err:=errors.New("cannot save a filtered policy")
466
+
e.onLogAfterEventWithError(logEntry, err)
467
+
returnerr
450
468
}
451
469
iferr:=e.adapter.SavePolicy(e.model); err!=nil {
470
+
e.onLogAfterEventWithError(logEntry, err)
452
471
returnerr
453
472
}
473
+
474
+
e.onLogAfterEventInSavePolicy(logEntry)
475
+
454
476
ife.watcher!=nil {
455
477
varerrerror
456
478
ifwatcher, ok:=e.watcher.(persist.WatcherEx); ok {
@@ -593,10 +615,16 @@ func (e *Enforcer) invalidateMatcherMap() {
593
615
594
616
// enforce use a custom matcher to decides whether a "subject" can access a "object" with the operation "action", input parameters are usually: (matcher, sub, obj, act), use model matcher by default when matcher is "".
0 commit comments