Class: ClaudeHooks::Logger
- Inherits:
-
Object
- Object
- ClaudeHooks::Logger
- Defined in:
- lib/claude_hooks/logger.rb
Overview
Session-based logger for Claude Code hooks
Instance Method Summary collapse
-
#initialize(session_id, source) ⇒ Logger
constructor
A new instance of Logger.
-
#log(message, level: :info) ⇒ Object
Log to session-specific file Usage: log "Simple message" log "Debug info", level: :debug.
Constructor Details
#initialize(session_id, source) ⇒ Logger
Returns a new instance of Logger.
9 10 11 12 |
# File 'lib/claude_hooks/logger.rb', line 9 def initialize(session_id, source) @session_id = session_id @source = source end |
Instance Method Details
#log(message, level: :info) ⇒ Object
Log to session-specific file Usage:
log "Simple message"
log "Debug info", level: :debug
18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
# File 'lib/claude_hooks/logger.rb', line 18 def log(, level: :info) = Time.now.strftime('%Y-%m-%d %H:%M:%S') class_prefix = "[#{}] [#{level.upcase}] [#{@source}]" # For multiline strings, prepend a newline for better formatting if .include?("\n") log_entry = "#{class_prefix}\n#{}" else log_entry = "#{class_prefix} #{}" end begin write_to_session_log(log_entry) rescue => e # Fallback to STDERR if file logging fails STDERR.puts log_entry STDERR.puts "Warning: Failed to write to session log: #{e.}" end end |