@page "/server-logs" @attribute [Authorize] @inherits AuthComponentBase @inject IDataService DataService @inject IToastService ToastService @inject IJsInterop JsInterop

Server Logs

@if (User.IsAdministrator) {
Type:
Filter:
From:
To:
@foreach (var eventLog in FilteredLogs) { }
Type Timestamp Message Source Stack Trace
@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."); } } }