Class: LangGraphRB::Observers::LoggerObserver
Overview
File and stdout logging observer
Instance Method Summary
collapse
#on_checkpoint_saved, #on_command_processed, #on_state_change, #shutdown
Constructor Details
#initialize(logger: nil, level: :info, format: :text) ⇒ LoggerObserver
Returns a new instance of LoggerObserver.
7
8
9
10
11
12
|
# File 'lib/langgraph_rb/observers/logger.rb', line 7
def initialize(logger: nil, level: :info, format: :text)
@logger = logger || Logger.new($stdout)
@level = level
@format = format
@logger.level = Logger.const_get(level.to_s.upcase)
end
|
Instance Method Details
#on_graph_end(event) ⇒ Object
18
19
20
|
# File 'lib/langgraph_rb/observers/logger.rb', line 18
def on_graph_end(event)
log(:info, "Graph execution completed", event.to_h)
end
|
#on_graph_start(event) ⇒ Object
14
15
16
|
# File 'lib/langgraph_rb/observers/logger.rb', line 14
def on_graph_start(event)
log(:info, "Graph execution started", event.to_h)
end
|
#on_interrupt(event) ⇒ Object
39
40
41
|
# File 'lib/langgraph_rb/observers/logger.rb', line 39
def on_interrupt(event)
log(:warn, "Execution interrupted: #{event[:message]}", event)
end
|
#on_node_end(event) ⇒ Object
26
27
28
29
|
# File 'lib/langgraph_rb/observers/logger.rb', line 26
def on_node_end(event)
duration_ms = event.duration ? (event.duration * 1000).round(2) : 'unknown'
log(:info, "Node completed: #{event.node_name} (#{duration_ms}ms)", event.to_h)
end
|
#on_node_error(event) ⇒ Object
31
32
33
|
# File 'lib/langgraph_rb/observers/logger.rb', line 31
def on_node_error(event)
log(:error, "Node error: #{event.node_name} - #{event.error&.message}", event.to_h)
end
|
#on_node_start(event) ⇒ Object
22
23
24
|
# File 'lib/langgraph_rb/observers/logger.rb', line 22
def on_node_start(event)
log(:debug, "Node execution started: #{event.node_name}", event.to_h)
end
|
#on_step_complete(event) ⇒ Object
35
36
37
|
# File 'lib/langgraph_rb/observers/logger.rb', line 35
def on_step_complete(event)
log(:debug, "Step #{event.step_number} completed with #{event.completed_nodes.length} nodes", event.to_h)
end
|