about summary refs log tree commit diff
path: root/MatrixRoomUtils.Web/Shared/LogView.razor
blob: f60f27163d829450b85ead9b559e0e46782b5471 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
@using System.Text
<u>Logs</u><br/>
<pre>
    @_stringBuilder
</pre>

@code {
    StringBuilder _stringBuilder = new();
    protected override void OnInitialized()
    {
        //intecept stdout with textwriter to get logs
        var sw = new StringWriter(_stringBuilder);
        Console.SetOut(sw);
        Console.SetError(sw);
        //keep updated
        int 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
        });
        base.OnInitialized();
    }
}