@using Microsoft.JSInterop @using WarcViewerBlazorWinForm.Backend.Logging @implements IDisposable @inject ILogger Logger @inject IJSRuntime JsRuntime @inject IEventBus EventBus
我是左侧面板
我是右侧面板
@code { protected override void OnInitialized() { base.OnInitialized(); EventBus.Subscript(HandleLogging); Logger.LogInformation("App UI started"); } private void HandleLogging(LoggingEvent obj) { switch (obj.LogLevel) { case LogLevel.Debug: JsRuntime.InvokeVoidAsync("console.debug", obj.Content); break; case LogLevel.Information: JsRuntime.InvokeVoidAsync("console.info", obj.Content); break; case LogLevel.Warning: JsRuntime.InvokeVoidAsync("console.warn", obj.Content); break; case LogLevel.Critical: case LogLevel.Error: JsRuntime.InvokeVoidAsync("console.error", obj.Content); break; case LogLevel.Trace: case LogLevel.None: default: JsRuntime.InvokeVoidAsync("console.log", $"{obj.LogLevel} {obj.Content}"); break; } } public void Dispose() { EventBus.UnSubscript(HandleLogging); } }