dipper 0.5.3

An out-of-the-box modular dependency injection web application framework.
Documentation
use casbin::{Logger, prelude::*};
use myotel::tracing::*;

#[derive(Default)]
pub struct TraceLogger {
    enabled: bool,
}

impl Logger for TraceLogger {
    #[inline]
    fn enable_log(&mut self, enabled: bool) {
        self.enabled = enabled;
    }

    #[inline]
    fn is_enabled(&self) -> bool {
        self.enabled
    }

    fn print_enforce_log(&self, rvals: Vec<String>, authorized: bool, cached: bool) {
        if !self.is_enabled() {
            return;
        }

        info!(
            Request = rvals.join(","),
            "Cached" = cached,
            Response = authorized,
            "Enforce Request"
        );
    }

    fn print_mgmt_log(&self, e: &EventData) {
        if !self.is_enabled() {
            return;
        }

        info!(Event = e.to_string(), "Policy Management");
    }

    fn print_explain_log(&self, rules: Vec<String>) {
        if !self.is_enabled() {
            return;
        }

        info!(Explain = rules.join(","), "Hitted Policies");
    }

    fn print_status_log(&self, enabled: bool) {
        if !self.is_enabled() {
            return;
        }

        info!(Enabled = enabled, "Status");
    }
}