Class: ModelContextProtocol::Server::ClientLogger
- Inherits:
-
Object
- Object
- ModelContextProtocol::Server::ClientLogger
- Extended by:
- Forwardable
- Defined in:
- lib/model_context_protocol/server/client_logger.rb
Constant Summary collapse
- VALID_LOG_LEVELS =
%w[debug info notice warning error critical alert emergency].freeze
- 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
-
#logger_name ⇒ Object
readonly
Returns the value of attribute logger_name.
-
#transport ⇒ Object
readonly
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") ⇒ ClientLogger
constructor
A new instance of ClientLogger.
- #level ⇒ Object
- #level=(value) ⇒ Object
- #set_mcp_level(mcp_level) ⇒ Object
Constructor Details
#initialize(logger_name: "server", level: "info") ⇒ ClientLogger
Returns a new instance of ClientLogger.
36 37 38 39 40 41 42 |
# File 'lib/model_context_protocol/server/client_logger.rb', line 36 def initialize(logger_name: "server", level: "info") @logger_name = logger_name @internal_logger = Logger.new(nil) @internal_logger.level = LEVEL_MAP[level] || Logger::INFO @transport = nil = [] end |
Instance Attribute Details
#logger_name ⇒ Object (readonly)
Returns the value of attribute logger_name.
34 35 36 |
# File 'lib/model_context_protocol/server/client_logger.rb', line 34 def logger_name @logger_name end |
#transport ⇒ Object (readonly)
Returns the value of attribute transport.
33 34 35 |
# File 'lib/model_context_protocol/server/client_logger.rb', line 33 def transport @transport end |
Instance Method Details
#add(severity, message = nil, data = {}, &block) ⇒ Object
50 51 52 53 54 55 56 |
# File 'lib/model_context_protocol/server/client_logger.rb', line 50 def add(severity, = nil, data = {}, &block) return true if severity < @internal_logger.level = block.call if .nil? && block_given? send_notification(severity, , data) true end |
#connect_transport(transport) ⇒ Object
70 71 72 73 |
# File 'lib/model_context_protocol/server/client_logger.rb', line 70 def connect_transport(transport) @transport = transport end |
#level ⇒ Object
62 63 64 |
# File 'lib/model_context_protocol/server/client_logger.rb', line 62 def level @internal_logger.level end |
#level=(value) ⇒ Object
58 59 60 |
# File 'lib/model_context_protocol/server/client_logger.rb', line 58 def level=(value) @internal_logger.level = value end |
#set_mcp_level(mcp_level) ⇒ Object
66 67 68 |
# File 'lib/model_context_protocol/server/client_logger.rb', line 66 def set_mcp_level(mcp_level) self.level = LEVEL_MAP[mcp_level] || Logger::INFO end |