Class: RcrewAI::Rails::Tools::RailsLoggerTool
- Inherits:
-
RCrewAI::Tools::Base
- Object
- RCrewAI::Tools::Base
- RcrewAI::Rails::Tools::RailsLoggerTool
- Defined in:
- lib/rcrewai/rails/tools/rails_logger_tool.rb
Instance Method Summary collapse
- #execute(level:, message:, metadata: {}) ⇒ Object
-
#initialize(tag: "RcrewAI") ⇒ RailsLoggerTool
constructor
A new instance of RailsLoggerTool.
Constructor Details
#initialize(tag: "RcrewAI") ⇒ RailsLoggerTool
Returns a new instance of RailsLoggerTool.
16 17 18 19 |
# File 'lib/rcrewai/rails/tools/rails_logger_tool.rb', line 16 def initialize(tag: "RcrewAI") super() @tag = tag end |
Instance Method Details
#execute(level:, message:, metadata: {}) ⇒ Object
21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
# File 'lib/rcrewai/rails/tools/rails_logger_tool.rb', line 21 def execute(level:, message:, metadata: {}) logger = ::Rails.logger = || {} = (, ) case level.to_sym when :debug then logger.debug() when :info then logger.info() when :warn then logger.warn() when :error then logger.error() when :fatal then logger.fatal() else return { error: "Unknown log level: #{level}" } end ActiveSupport::Notifications.instrument("log.rcrewai", { level: level, message: , metadata: , tag: @tag }) { logged: true, level: level, message: } rescue => e { error: "Logging failed", message: e. } end |