@page "/server-logs"
@attribute [Authorize]
@inherits AuthComponentBase
@inject IDataService DataService
@inject IToastService ToastService
@inject IJsInterop JsInterop
Server Logs
@if (User.IsAdministrator)
{
| Type |
Timestamp |
Message |
Source |
Stack Trace |
@foreach (var eventLog in FilteredLogs)
{
| @eventLog.EventType |
@eventLog.TimeStamp |
@eventLog.Message |
@eventLog.Source |
@eventLog.StackTrace |
}
}
else
{
Only organization administrators can view this page.
}
@code {
private readonly List _filteredLogs = new();
private EventType? _eventType;
private string _messageFilter;
private DateTimeOffset _fromDate = DateTimeOffset.Now.AddDays(-7);
private DateTimeOffset _toDate = DateTimeOffset.Now;
private IEnumerable FilteredLogs
{
get
{
return DataService.GetEventLogs(User.UserName,
_fromDate,
_toDate,
_eventType,
_messageFilter);
}
}
private async Task ClearAllLogs()
{
var result = await JsInterop.Confirm("Are you sure you want to delete all logs?");
if (result)
{
await DataService.ClearLogs(User.UserName);
ToastService.ShowToast("Logs deleted.");
}
}
}