Skip to content

Commit 85b4836

Browse files
committed
Add log level as configuration
1 parent 4b548e7 commit 85b4836

File tree

3 files changed

+18
-7
lines changed

3 files changed

+18
-7
lines changed

src/mcp_server_rabbitmq/__init__.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,14 +13,16 @@ def main():
1313
parser.add_argument("--username", type=str, help="Username for the connection")
1414
parser.add_argument("--password", type=str, help="Password for the connection")
1515
parser.add_argument("--use-tls", type=bool, help="Is the connection amqps")
16+
parser.add_argument("--log-level", type=str, help="Log level, supports DEBUG|INFO|WARNING|ERROR, default to WARNING")
1617

1718
args = parser.parse_args()
1819
asyncio.run(serve(
1920
rabbitmq_host=args.rabbitmq_host,
2021
port=args.port,
2122
username=args.username,
2223
password=args.password,
23-
use_tls=args.use_tls))
24+
use_tls=args.use_tls,
25+
log_level=args.log_level))
2426

2527

2628
if __name__ == "__main__":

src/mcp_server_rabbitmq/logger.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ def error(self, msg):
3131

3232
def __post_process_log_entry(self, msg: str, log_level: LOG_LEVEL) -> str:
3333
timestamp = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
34-
return f"[{log_level}] {timestamp} - {msg}\n"
34+
return f"[{log_level.name}] {timestamp} - {msg}\n"
3535

3636
def __write_log(self, msg):
3737
with open(self.log_file_path, "a") as f:

src/mcp_server_rabbitmq/server.py

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -10,11 +10,19 @@
1010
from .logger import Logger, LOG_LEVEL
1111

1212

13-
async def serve(rabbitmq_host: str, port: int, username: str, password: str, use_tls: bool, logging_level: LOG_LEVEL = LOG_LEVEL.WARNING) -> None:
14-
# Setup server and logger
13+
async def serve(rabbitmq_host: str, port: int, username: str, password: str, use_tls: bool, log_level: str = LOG_LEVEL.DEBUG.name) -> None:
14+
# Setup server
1515
server = Server("mcp-rabbitmq")
16-
# Make logger another option to pass
17-
logger = Logger("server.log")
16+
# Setup logger
17+
is_log_level_exception = False
18+
try:
19+
log_level = LOG_LEVEL[log_level]
20+
except Exception:
21+
is_log_level_exception = True
22+
log_level = LOG_LEVEL.WARNING
23+
logger = Logger("server.log", log_level)
24+
if is_log_level_exception:
25+
logger.warning("Wrong log_level received. Default to WARNING")
1826
# Setup RabbitMQ connection metadata
1927
protocol = "amqps" if use_tls else "amqp"
2028
url = f"{protocol}://{username}:{password}@{rabbitmq_host}:{port}"
@@ -40,6 +48,7 @@ async def call_tool(
4048
arguments: dict
4149
) -> list[TextContent]:
4250
if name == "enqueue":
51+
logger.debug("Executing enqueue tool")
4352
message = arguments["message"]
4453
queue = arguments["queue"]
4554
# Send to RabbitMQ host
@@ -50,7 +59,7 @@ async def call_tool(
5059
channel.basic_publish(exchange="", routing_key=queue, body=message)
5160
return [TextContent(type="text", text=str("suceeded"))]
5261
except Exception as e:
53-
logger.error(f"[ERROR] {e}")
62+
logger.error(f"{e}")
5463
return [TextContent(type="text", text=str("failed"))]
5564
raise ValueError(f"Tool not found: {name}")
5665

0 commit comments

Comments
 (0)