use super::core::AuditLogger;
use super::types::AuditLogLevel;
use serde_json::json;
impl AuditLogger {
pub async fn log_batch_execution(
&self,
client_id: &str,
operation_count: usize,
success_count: usize,
failure_count: usize,
success: bool,
) {
let metadata = json!({
"operation_count": operation_count,
"success_count": success_count,
"failure_count": failure_count
});
self.log_event(
AuditLogLevel::Info,
client_id,
"batch_execute",
if success { "success" } else { "failure" },
metadata,
)
.await;
}
pub async fn log_bulk_episodes(&self, client_id: &str, episode_count: usize, success: bool) {
let metadata = json!({
"episode_count": episode_count
});
self.log_event(
AuditLogLevel::Debug,
client_id,
"bulk_episodes",
if success { "success" } else { "failure" },
metadata,
)
.await;
}
pub async fn log_memory_query(
&self,
client_id: &str,
query: &str,
result_count: usize,
success: bool,
) {
let metadata = json!({
"query": query,
"result_count": result_count
});
self.log_event(
AuditLogLevel::Debug,
client_id,
"query_memory",
if success { "success" } else { "failure" },
metadata,
)
.await;
}
pub async fn log_semantic_query(
&self,
client_id: &str,
query: &str,
result_count: usize,
success: bool,
) {
let metadata = json!({
"query": query,
"result_count": result_count
});
self.log_event(
AuditLogLevel::Debug,
client_id,
"query_semantic_memory",
if success { "success" } else { "failure" },
metadata,
)
.await;
}
}