Class: ModelContextProtocol::Server::MCPLogger
- Inherits:
-
Object
- Object
- ModelContextProtocol::Server::MCPLogger
- Extended by:
- Forwardable
- Defined in:
- lib/model_context_protocol/server/mcp_logger.rb
Constant Summary collapse
- LEVEL_MAP =
{ "debug" => Logger::DEBUG, "info" => Logger::INFO, "notice" => Logger::INFO, "warning" => Logger::WARN, "error" => Logger::ERROR, "critical" => Logger::FATAL, "alert" => Logger::FATAL, "emergency" => Logger::UNKNOWN }.freeze
- REVERSE_LEVEL_MAP =
{ Logger::DEBUG => "debug", Logger::INFO => "info", Logger::WARN => "warning", Logger::ERROR => "error", Logger::FATAL => "critical", Logger::UNKNOWN => "emergency" }.freeze
Instance Attribute Summary collapse
-
#enabled ⇒ Object
readonly
Returns the value of attribute enabled.
-
#logger_name ⇒ Object
readonly
Returns the value of attribute logger_name.
-
#transport ⇒ Object
Returns the value of attribute transport.
Instance Method Summary collapse
- #add(severity, message = nil, data = {}, &block) ⇒ Object
- #connect_transport(transport) ⇒ Object
-
#initialize(logger_name: "server", level: "info", enabled: true) ⇒ MCPLogger
constructor
A new instance of MCPLogger.
- #level ⇒ Object
- #level=(value) ⇒ Object
- #set_mcp_level(mcp_level) ⇒ Object
Constructor Details
#initialize(logger_name: "server", level: "info", enabled: true) ⇒ MCPLogger
Returns a new instance of MCPLogger.
34 35 36 37 38 39 40 41 |
# File 'lib/model_context_protocol/server/mcp_logger.rb', line 34 def initialize(logger_name: "server", level: "info", enabled: true) @logger_name = logger_name @enabled = enabled @internal_logger = Logger.new(nil) @internal_logger.level = LEVEL_MAP[level] || Logger::INFO @transport = nil = [] end |
Instance Attribute Details
#enabled ⇒ Object (readonly)
Returns the value of attribute enabled.
32 33 34 |
# File 'lib/model_context_protocol/server/mcp_logger.rb', line 32 def enabled @enabled end |
#logger_name ⇒ Object (readonly)
Returns the value of attribute logger_name.
32 33 34 |
# File 'lib/model_context_protocol/server/mcp_logger.rb', line 32 def logger_name @logger_name end |
#transport ⇒ Object
Returns the value of attribute transport.
31 32 33 |
# File 'lib/model_context_protocol/server/mcp_logger.rb', line 31 def transport @transport end |
Instance Method Details
#add(severity, message = nil, data = {}, &block) ⇒ Object
50 51 52 53 54 55 56 57 |
# File 'lib/model_context_protocol/server/mcp_logger.rb', line 50 def add(severity, = nil, data = {}, &block) return true unless @enabled return true if severity < @internal_logger.level = block.call if .nil? && block_given? send_notification(severity, , data) true end |
#connect_transport(transport) ⇒ Object
71 72 73 74 |
# File 'lib/model_context_protocol/server/mcp_logger.rb', line 71 def connect_transport(transport) @transport = transport if @enabled end |
#level ⇒ Object
63 64 65 |
# File 'lib/model_context_protocol/server/mcp_logger.rb', line 63 def level @internal_logger.level end |
#level=(value) ⇒ Object
59 60 61 |
# File 'lib/model_context_protocol/server/mcp_logger.rb', line 59 def level=(value) @internal_logger.level = value end |
#set_mcp_level(mcp_level) ⇒ Object
67 68 69 |
# File 'lib/model_context_protocol/server/mcp_logger.rb', line 67 def set_mcp_level(mcp_level) self.level = LEVEL_MAP[mcp_level] || Logger::INFO end |