簡體   English   中英

ConnectionMultiplexer 連接失敗時如何記錄堆棧跟蹤錯誤?

[英]How to log stack trace error when ConnectionMultiplexer fails to connect?

我有這個代碼

private ILogger logger;
.
.
.
try
{
    redisClient = ConnectionMultiplexer.Connect(connectionString);
}
catch (Exception ex)
{
    logger.LogError(ex, ex.toString());
    redisClient = null;
    return;
}

我們打算如果它無法連接,我們想要記錄堆棧跟蹤錯誤。 但看起來這不會真正導致異常。 它只會讓redisClient.IsConnected返回 false

有沒有辦法記錄堆棧跟蹤或幫助連接失敗的消息? 這是我們想到的?

private ILogger logger;
.
.
.
var redisClient = ConnectionMultiplexer.Connect(connectionString);
if(!redisClient.IsConnected)
{
    logger.LogError(redisClient.StackTraceError);
}

我想我現在明白你了。

ConnectionMultiplexer中有一個事件。 該事件稱為ConnectionFailed

你不需要try catch。 你可以這樣做:

redisClient.ConnectionFailed += (sender, args) =>
{
    Console.WriteLine("Connection failed: " + args.Exception.Message);
};

另外,您可以使用args來獲取更多詳細信息

希望有幫助

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM