[OneBot] log the information received and sent

This commit is contained in:
Linwenxuan 2023-10-17 12:31:27 +08:00
parent a4fa6fbf34
commit 188e65ccc1
1 changed files with 10 additions and 2 deletions

View File

@ -10,6 +10,8 @@ namespace Lagrange.OneBot.Core.Network;
public sealed class ReverseWSService : ILagrangeWebService
{
private const string Tag = nameof(ReverseWSService);
public event EventHandler<MsgRecvEventArgs> OnMessageReceived = delegate { };
private readonly WebsocketClient _socket;
@ -45,7 +47,11 @@ public sealed class ReverseWSService : ILagrangeWebService
});
_timer = new Timer(OnHeartbeat, null, int.MaxValue, config.GetValue<int>("Implementation:ReverseWebSocket:HeartBeatInterval"));
_socket.MessageReceived.Subscribe(resp => OnMessageReceived.Invoke(this, new(resp.Text ?? "")));
_socket.MessageReceived.Subscribe(resp =>
{
_logger.LogTrace($"[{Tag}] Receive: {resp.Text}");
OnMessageReceived.Invoke(this, new MsgRecvEventArgs(resp.Text ?? ""));
});
}
public async Task StartAsync(CancellationToken cancellationToken)
@ -66,7 +72,9 @@ public sealed class ReverseWSService : ILagrangeWebService
public Task SendJsonAsync<T>(T json, CancellationToken cancellationToken = default)
{
var payload = JsonSerializer.SerializeToUtf8Bytes(json);
string payload = JsonSerializer.Serialize(json);
_logger.LogTrace($"[{Tag}] Send: {payload}");
return _socket.SendInstant(payload);
}