MRU->RMU, fixes, cleanup
1 files changed, 41 insertions, 0 deletions
diff --git a/MatrixUtils.Web/Shared/LogView.razor b/MatrixUtils.Web/Shared/LogView.razor
new file mode 100644
index 0000000..d541b82
--- /dev/null
+++ b/MatrixUtils.Web/Shared/LogView.razor
@@ -0,0 +1,41 @@
+@* @using System.Text *@
+@* @if (LocalStorageWrapper.Settings.DeveloperSettings.EnableLogViewers) { *@
+@* <u>Logs</u> *@
+@* <br/> *@
+@* <pre> *@
+@* @_stringBuilder *@
+@* </pre> *@
+@* } *@
+@* *@
+@* @code { *@
+@* StringBuilder _stringBuilder = new(); *@
+@* *@
+@* protected override async Task OnInitializedAsync() { *@
+@* if (!LocalStorageWrapper.Settings.DeveloperSettings.EnableConsoleLogging) { *@
+@* Console.WriteLine("Console logging disabled!"); *@
+@* var _sw = new StringWriter(); *@
+@* Console.SetOut(_sw); *@
+@* Console.SetError(_sw); *@
+@* return; *@
+@* } *@
+@* if (!LocalStorageWrapper.Settings.DeveloperSettings.EnableLogViewers) return; *@
+@* //intecept stdout with textwriter to get logs *@
+@* var sw = new StringWriter(_stringBuilder); *@
+@* Console.SetOut(sw); *@
+@* Console.SetError(sw); *@
+@* //keep updated *@
+@* var length = 0; *@
+@* Task.Run(async () => { *@
+@* while (true) { *@
+@* await Task.Delay(100); *@
+@* if (_stringBuilder.Length != length) { *@
+@* StateHasChanged(); *@
+@* length = _stringBuilder.Length; *@
+@* } *@
+@* } *@
+@* // ReSharper disable once FunctionNeverReturns - This is intentional behavior *@
+@* }); *@
+@* await base.OnInitializedAsync(); *@
+@* } *@
+@* *@
+@* } *@
\ No newline at end of file
|