Class: LanguageOperator::Agent::Safety::AuditLogger
- Inherits:
-
Object
- Object
- LanguageOperator::Agent::Safety::AuditLogger
- Includes:
- Loggable
- Defined in:
- lib/language_operator/agent/safety/audit_logger.rb
Overview
Audit Logger for safety events
Logs all safety-related events (blocked requests, budget exceeded, etc.) for compliance and debugging.
Instance Method Summary collapse
-
#initialize ⇒ AuditLogger
constructor
A new instance of AuditLogger.
-
#log_blocked_request(reason:, details: {}) ⇒ Object
Log a blocked request.
-
#log_budget_event(event:, details: {}) ⇒ Object
Log a budget event.
-
#log_content_filter_event(event:, details: {}) ⇒ Object
Log a content filter event.
-
#log_rate_limit_event(event:, details: {}) ⇒ Object
Log a rate limit event.
Methods included from Loggable
Constructor Details
#initialize ⇒ AuditLogger
Returns a new instance of AuditLogger.
21 22 23 24 |
# File 'lib/language_operator/agent/safety/audit_logger.rb', line 21 def initialize @audit_log_path = ENV['AUDIT_LOG_PATH'] || '/tmp/langop-audit.jsonl' logger.info('Audit logger initialized', log_path: @audit_log_path) end |
Instance Method Details
#log_blocked_request(reason:, details: {}) ⇒ Object
Log a blocked request
30 31 32 33 34 35 36 |
# File 'lib/language_operator/agent/safety/audit_logger.rb', line 30 def log_blocked_request(reason:, details: {}) log_event( event_type: 'blocked_request', reason: reason, details: details ) end |
#log_budget_event(event:, details: {}) ⇒ Object
Log a budget event
42 43 44 45 46 47 48 |
# File 'lib/language_operator/agent/safety/audit_logger.rb', line 42 def log_budget_event(event:, details: {}) log_event( event_type: 'budget_event', event: event, details: details ) end |
#log_content_filter_event(event:, details: {}) ⇒ Object
Log a content filter event
66 67 68 69 70 71 72 |
# File 'lib/language_operator/agent/safety/audit_logger.rb', line 66 def log_content_filter_event(event:, details: {}) log_event( event_type: 'content_filter_event', event: event, details: details ) end |
#log_rate_limit_event(event:, details: {}) ⇒ Object
Log a rate limit event
54 55 56 57 58 59 60 |
# File 'lib/language_operator/agent/safety/audit_logger.rb', line 54 def log_rate_limit_event(event:, details: {}) log_event( event_type: 'rate_limit_event', event: event, details: details ) end |