Move LoggingService
to API library
Add Additional Logging For SignalR
This commit is contained in:
parent
0432fec3cd
commit
75b61c0a8c
@ -6,7 +6,7 @@ using System.Threading.Tasks;
|
|||||||
using System.Diagnostics;
|
using System.Diagnostics;
|
||||||
using System.Text.Json;
|
using System.Text.Json;
|
||||||
|
|
||||||
namespace qtc_net_client_2.Services
|
namespace QtCNETAPI.Services
|
||||||
{
|
{
|
||||||
public class LoggingService : IDisposable
|
public class LoggingService : IDisposable
|
||||||
{
|
{
|
||||||
@ -16,7 +16,7 @@ namespace qtc_net_client_2.Services
|
|||||||
public LoggingService()
|
public LoggingService()
|
||||||
{
|
{
|
||||||
LogDate = DateTime.Now;
|
LogDate = DateTime.Now;
|
||||||
LogFilePath = $"./Logs/QtCClientLog_{LogDate.ToString("ddMMyyy-hhmm")}.log";
|
LogFilePath = $"./Logs/QtCClientLog_{LogDate:ddMMyyy-hhmm}.log";
|
||||||
|
|
||||||
// create log file
|
// create log file
|
||||||
|
|
||||||
@ -30,8 +30,8 @@ namespace qtc_net_client_2.Services
|
|||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
Debug.WriteLine($"({DateTime.Now.ToLocalTime().ToString("hh:mm")}) {message}");
|
Debug.WriteLine($"({DateTime.Now.ToLocalTime():hh:mm}) {message}");
|
||||||
LogFile.WriteLine($"({DateTime.Now.ToLocalTime().ToString("hh:mm")}) {message}");
|
LogFile.WriteLine($"({DateTime.Now.ToLocalTime():hh:mm}) {message}");
|
||||||
} catch (ObjectDisposedException)
|
} catch (ObjectDisposedException)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
@ -45,8 +45,8 @@ namespace qtc_net_client_2.Services
|
|||||||
string modelSerialized = JsonSerializer.Serialize(model, options: new JsonSerializerOptions { WriteIndented = true });
|
string modelSerialized = JsonSerializer.Serialize(model, options: new JsonSerializerOptions { WriteIndented = true });
|
||||||
|
|
||||||
// log it
|
// log it
|
||||||
Debug.WriteLine($"({DateTime.Now.ToLocalTime().ToString("hh:mm")}) {modelSerialized}");
|
Debug.WriteLine($"({DateTime.Now.ToLocalTime():hh:mm}) {modelSerialized}");
|
||||||
LogFile.WriteLine($"({DateTime.Now.ToLocalTime().ToString("hh:mm")}) {modelSerialized}");
|
LogFile.WriteLine($"({DateTime.Now.ToLocalTime():hh:mm}) {modelSerialized}");
|
||||||
} catch (ObjectDisposedException)
|
} catch (ObjectDisposedException)
|
||||||
{
|
{
|
||||||
}
|
}
|
@ -8,6 +8,7 @@ using qtc_net_client_2.Services;
|
|||||||
using qtc_net_client_2.ClientModel;
|
using qtc_net_client_2.ClientModel;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
using QtCNETAPI.Schema;
|
using QtCNETAPI.Schema;
|
||||||
|
using QtCNETAPI.Services;
|
||||||
|
|
||||||
namespace qtc_net_client_2
|
namespace qtc_net_client_2
|
||||||
{
|
{
|
||||||
@ -15,7 +16,9 @@ namespace qtc_net_client_2
|
|||||||
{
|
{
|
||||||
private IApiService _apiService;
|
private IApiService _apiService;
|
||||||
private IGatewayService _gatewayService;
|
private IGatewayService _gatewayService;
|
||||||
|
|
||||||
private Config _config;
|
private Config _config;
|
||||||
|
private ServerConfig _serverConfig;
|
||||||
private AudioService AudioService = new();
|
private AudioService AudioService = new();
|
||||||
private LoggingService LoggingService;
|
private LoggingService LoggingService;
|
||||||
|
|
||||||
@ -878,8 +881,36 @@ namespace qtc_net_client_2
|
|||||||
else Environment.Exit(0);
|
else Environment.Exit(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void _gatewayService_OnServerReconnecting(object? sender, EventArgs e) => BeginInvoke(delegate () { Enabled = false; });
|
private void _gatewayService_OnServerReconnecting(object? sender, EventArgs e)
|
||||||
private void _gatewayService_OnServerReconnected(object? sender, EventArgs e) => BeginInvoke(delegate () { Enabled = true; });
|
{
|
||||||
|
var args = (ServerConnectionReconnectingEventArgs)e;
|
||||||
|
|
||||||
|
if (args.Error == null)
|
||||||
|
LoggingService.LogString("Server Requested Reconnect. Reconnecting...");
|
||||||
|
else
|
||||||
|
LoggingService.LogString($"SignalR Reconnecting Due To An Error.\n{args.Error.Message}\n{args.Error.StackTrace}");
|
||||||
|
|
||||||
|
if (IsHandleCreated && !IsDisposed)
|
||||||
|
{
|
||||||
|
Invoke(delegate ()
|
||||||
|
{
|
||||||
|
Enabled = false;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void _gatewayService_OnServerReconnected(object? sender, EventArgs e)
|
||||||
|
{
|
||||||
|
LoggingService.LogString("SignalR Reconnected");
|
||||||
|
|
||||||
|
if (IsHandleCreated && !IsDisposed)
|
||||||
|
{
|
||||||
|
Invoke(delegate ()
|
||||||
|
{
|
||||||
|
Enabled = true;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private async void _gatewayService_OnServerConfigReceived(object? sender, EventArgs e)
|
private async void _gatewayService_OnServerConfigReceived(object? sender, EventArgs e)
|
||||||
{
|
{
|
||||||
@ -888,8 +919,11 @@ namespace qtc_net_client_2
|
|||||||
LoggingService.LogString($"Server Config Received");
|
LoggingService.LogString($"Server Config Received");
|
||||||
LoggingService.LogModel(args.ServerConfig);
|
LoggingService.LogModel(args.ServerConfig);
|
||||||
|
|
||||||
|
if (_serverConfig != null) return; // only set server config upon client restart, not during reconnect (preventing log spam)
|
||||||
|
|
||||||
if (args.ServerConfig != null)
|
if (args.ServerConfig != null)
|
||||||
{
|
{
|
||||||
|
_serverConfig = args.ServerConfig;
|
||||||
if (args.ServerConfig.IsDown)
|
if (args.ServerConfig.IsDown)
|
||||||
{
|
{
|
||||||
LoggingService.LogString("Server Is Marked As Down");
|
LoggingService.LogString("Server Is Marked As Down");
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
using qtc_net_client_2.Services;
|
using QtCNETAPI.Dtos.User;
|
||||||
using QtCNETAPI.Dtos.User;
|
|
||||||
using QtCNETAPI.Schema;
|
using QtCNETAPI.Schema;
|
||||||
|
using QtCNETAPI.Services;
|
||||||
using QtCNETAPI.Services.ApiService;
|
using QtCNETAPI.Services.ApiService;
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
using qtc_net_client_2.ClientModel;
|
using qtc_net_client_2.ClientModel;
|
||||||
using qtc_net_client_2.Services;
|
using qtc_net_client_2.Services;
|
||||||
|
using QtCNETAPI.Services;
|
||||||
using QtCNETAPI.Services.ApiService;
|
using QtCNETAPI.Services.ApiService;
|
||||||
using QtCNETAPI.Services.GatewayService;
|
using QtCNETAPI.Services.GatewayService;
|
||||||
using System.Text.Json;
|
using System.Text.Json;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user