Skip to content

Commit c0bfda5

Browse files
committed
add logging to chathub
1 parent 4c1de2f commit c0bfda5

File tree

1 file changed

+32
-5
lines changed

1 file changed

+32
-5
lines changed

src/web/Server/Features/Chat/ChatHub.cs

Lines changed: 32 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,16 +7,43 @@ namespace Jordnaer.Server.Features.Chat;
77
[Authorize]
88
public class ChatHub : Hub<IChatHub>
99
{
10-
public async Task SendChatMessageAsync(ChatMessageDto chatMessage, string userId)
10+
private readonly ILogger<ChatHub> _logger;
11+
12+
public ChatHub(ILogger<ChatHub> logger)
1113
{
12-
await Clients.User(userId).ReceiveChatMessage(chatMessage);
14+
_logger = logger;
1315
}
14-
public async Task StartChatAsync(StartChat startChat)
16+
17+
public override async Task OnConnectedAsync()
18+
{
19+
_logger.LogDebug("User {userId} connected to {chatHub}", Context.User?.GetId(), nameof(ChatHub));
20+
21+
await base.OnConnectedAsync();
22+
}
23+
24+
public override async Task OnDisconnectedAsync(Exception? exception)
1525
{
16-
await Clients
26+
if (exception is not null)
27+
{
28+
_logger.LogError(exception, "User {userId} disconnected from {chatHub}. " +
29+
"Exception message: {exceptionMessage}",
30+
Context.User?.GetId(), nameof(ChatHub), exception.Message);
31+
}
32+
else
33+
{
34+
_logger.LogDebug("User {userId} disconnected from {chatHub}", Context.User?.GetId(), nameof(ChatHub));
35+
}
36+
37+
await base.OnConnectedAsync();
38+
}
39+
40+
public async Task SendChatMessageAsync(ChatMessageDto chatMessage, string userId)
41+
=> await Clients.User(userId).ReceiveChatMessage(chatMessage);
42+
43+
public async Task StartChatAsync(StartChat startChat)
44+
=> await Clients
1745
.Users(startChat
1846
.Recipients
1947
.Select(user => user.Id))
2048
.StartChat(startChat);
21-
}
2249
}

0 commit comments

Comments
 (0)